在尝试执行git pull或git fetch / merge时,我收到消息
error: Your local changes to the following files would be overwritten by merge:
/path/to/file.txt
Please, commit your changes or stash them before you can merge.
有几个奇怪的事情:1)我没有(故意)对相关文件进行任何更改。 git diff显示
warning: LF will be replaced by CRLF in /path/to/file.txt.
The file will have its original line endings in your working directory.
我猜测这是自动发生的,但是我很惊讶git将它视为一个表演终结者。
2)存放这个"改变"还是不让我合并。我可以看到存储被创建,并尝试删除/重新存储,我仍然得到错误。
3)每this so question/answer,我尝试强制合并(使用命令
git checkout HEAD^ /path/to/file.txt
然后
git pull
)。同样的错误。
我想我可以通过完整删除存储库并将其新鲜克隆来强制执行它,但我想了解发生了什么。在过去,存储更改始终解决了这个问题。
这似乎很切,但只是为了提供所有信息,我最近从git bash 1.9.4升级到1.9.5(Windows)并升级了我的openssl版本。
答案 0 :(得分:0)
事实证明另一个进程锁定了该文件。一旦我杀死了这个过程,合并就按预期进行,没有任何问题。