如何摆脱git中的虚假变化?

时间:2010-06-11 15:59:41

标签: git version-control github whitespace

我是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 HEADgit clean from here也没有帮助),但它没有用。当被要求git status时,我仍然可以看到文件被修改。 git diff告诉我文件的每一行都已被修改,而git diff -b根本没有显示任何差异,所以我猜这是一个行结束问题。这很奇怪,因为代码只能从Windows机器推送。

无论如何,问题是:如何忽略本地,虚假的更改并与远程存储库中的最新更改合并?

1 个答案:

答案 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)

有了这两点,你应该能够拉。