拉了之后,git状态告诉我我已经更改了一个16Mb的xml文件。
我没有碰过这个档案;但EOL问题可能导致git的混乱(虽然我认为不是因为我有autocrlf =输入)。
然而我写作是因为我无法摆脱这件事。
我尝试了以下各项:
在每次这些之后,git状态告诉我:
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: derived/workflow/xml/definitions.xml
这是一个问题,因为我之后不能“藏匿流行”,(即使在上面的#3之后,在进行'git stash save'之后)
环境
一些问题
由于
答案 0 :(得分:2)
在这种情况下,问题源于我的“autocrlf”设置为“input”。
无论好坏,我们的构建过程会生成带有“CRLF”行结尾的xml文件。
“git status”必须与“autocrlf”一起使用。虽然我没有触及或编辑过该文件,但“git status”必须说“当你提交这个文件时,git必须修改它,所以我会立即报告它为修改后的。”
“解决方案”是关闭autocrlf。
没有autocrlf,git status返回“正确的东西”
答案 1 :(得分:1)
我遇到了类似的问题,这是由于文件名的情况。在存储库中,有一个名为file.txt
的文件和另一个名为File.txt
的文件(或其他仅根据具体情况而不同的名称)。 Git不希望这样,当在非区分大小写的文件系统(在我的情况下是Mac OS X)上检出repo时,我遇到了同样的问题。
我的最终解决方案是从该结帐中完全排除包含该文件的目录。在我的情况下,我不需要那个目录,这很幸运。