我是PortableGit 1.7.0.2的用户。今天我想从GitHub.com存储库中删除一个项目,所以我做了git pull
。它失败并显示以下消息:error: Your local changes to 'main.rb' would be overwritten by merge. Aborting.
。我不关心本地更改因此我输入git reset --hard HEAD
(git clean
from here也没有帮助),但它没有用。当被要求git status
时,我仍然可以看到文件被修改。 git diff
告诉我文件的每一行都已被修改,而git diff -b
根本没有显示任何差异,所以我猜这是一个行结束问题。这很奇怪,因为代码只能从Windows机器推送。
无论如何,问题是:如何忽略本地,虚假的更改并与远程存储库中的最新更改合并?
答案 0 :(得分:2)
首先,您是否尝试了git clean -f
(请注意“-f
”)?
来自git config
手册页:
clean.requireForce
除非给定
git-clean
或-f
,否则使-n
无效的布尔值。 默认为true 。
其次,您是否将autocrlf
设置为false as I mention in this question?
(即使从Windows机器推送到Windows PC,使用Unix eol的文本文件也会转换为Windows eol)
有了这两点,你应该能够拉。