我是 PortableGit 1.7.0.2 的快乐用户。今天我想从 GitHub.com 存储库中 pull 项目更改,所以我执行了 git pull
。它失败并显示以下消息:错误:您对“main.rb”的本地更改将被 merge 覆盖。正在中止。
。我不关心本地更改,所以我输入了 git reset --hard HEAD
(git clean
from here 也没有帮助),但它没有工作。当询问 git status
时,我仍然能够看到文件已修改。 git diff
显示文件的每一行都已修改,而 git diff -b
显示没有任何差异,所以我猜这是一个行结束问题。这很奇怪,因为代码仅从 Windows 机器推送。
无论如何,问题是:如何忽略本地的虚假更改并与远程存储库中的最新更改 merge ?
最佳答案
首先,您是否尝试过 git clean -f
(注意“-f
”)?
来自 git config
手册页:
clean.requireForce
A boolean to make
git-clean
do nothing unless given-f
or-n
. Defaults to true.
其次,您是否将 autocrlf
设置为 false as I mention in this question ?
(即使从 Windows 机器推送到 Windows PC,带有 Unix eol 的文本文件也会被转换为 Windows eol)
处理好这两点后,您应该可以 pull 了。
关于git - 如何摆脱 git 中的虚假更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3024298/