我在工作副本下更改了文件列表,但文件保留在非暂存区域。我使用SourceTree,每次将文件拖放到临时区域时,它们都不会移动!
我尝试过使用:
git add -A
但是我没有运气,之后如果我git status
文件保留在未分区的区域。
有趣的是,我在系统上的另一个文件夹中执行了一个干净的克隆,并且文件自动显示已更改!
运行git状态显示:
git status --short
M resources/file1
M Resources/file1
M resources/file2
M Resources/file2
答案 0 :(得分:3)
看起来你要么改变了一些已经被git跟踪的文件的路径,而git也没有那么多享受它,或者你或者有权访问你的repo的人使用了git配置的ignorecase标志。 / p>
尝试在存储库的根目录下运行它,看看会发生什么:
cat .git/config | grep "ignorecase"
This is false by default but can be changed to true for systems that are not case sensitive.
从文档中我认为没有人可以更改已经克隆的工作副本的标志,但是在执行新克隆时,标志可能设置为true。
尝试查看您的干净克隆是否为ignorecase标志输出相同的值,并且它是否具有正确的文件夹名称(大写),如果是,请尝试将更改从旧的工作副本应用到此一个,所以启动你可以从那里开始工作,我在git中经历了移动文件/文件夹或重命名时的不稳定行为。
在一个或许更极端的解决方案上,做一个愚蠢的提交将文件夹重命名为其他地方,你对文件夹的名称引入了更大的更改,而不只是大写字母,然后再次提交原始名称,但这次大写
通知您的存储库的其他用户,他们可能必须执行干净的克隆以避免出现问题。