TortoiseGit如何取消将用户配置文件目录设为仓库?
兄弟,我太懂这种突然踩坑的懵圈感了!之前用TortoiseSVN顺得不行,想在哪建文件夹checkout仓库都行,结果切到TortoiseGit就碰到这么个离谱的问题——桌面所有文件都显示成已克隆的仓库状态,关键你根本没把桌面设成仓库对吧?别慌,咱们一步步排查修复:
先搞懂问题根源
大概率是这两种情况:要么桌面目录下不小心生成了隐藏的.git文件夹(Git仓库的核心标识),要么TortoiseGit把你的上层目录(比如C盘根目录、用户目录)当成了仓库,导致桌面作为子目录也被自动标记成仓库的一部分。
具体修复步骤:
检查桌面的隐藏文件
先打开文件夹选项,勾选「显示隐藏文件、文件夹和驱动器」,然后看看桌面有没有.git文件夹。如果有,直接删除它(确认这不是你故意创建的仓库哦!)。删除后刷新桌面,TortoiseGit的状态标记应该就消失了。排查上层目录的
.git文件夹
如果桌面没找到.git,那就往上翻,检查C盘根目录、你的用户目录(比如C:\Users\你的用户名)有没有隐藏的.git文件夹。Git的逻辑是只要目录下有.git,所有子目录都会被识别为同一个仓库的一部分,所以上层目录的.git会连累到桌面。找到后确认不是有用的仓库就删掉。重置TortoiseGit的状态缓存
有时候缓存会抽风,即使.git删了还显示错误状态。右键桌面空白处,选TortoiseGit → Cleanup,在弹出的窗口勾选「Clean up working copy status」,点击确定,强制刷新状态缓存。检查全局Git配置
打开Git Bash或者TortoiseGit的设置面板,输入命令git config --list,看看有没有奇怪的core.worktree配置,或者全局的仓库路径设置。如果有异常,用git config --unset 配置项删掉对应的错误配置就行。
小提醒
TortoiseGit和TortoiseSVN的逻辑真不一样:SVN是每个checkout的文件夹单独是仓库,而Git是靠.git文件夹来识别,只要这个文件夹存在,所有子目录都会被当成仓库的一部分。以后创建Git仓库的时候,一定要在目标文件夹里初始化,别不小心在根目录或者上层目录误建了.git文件夹哦!
内容的提问来源于stack exchange,提问作者T.Todua

