2010-06-11 45 views
3

我是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 cleanfrom here也没有帮助),但它没有奏效。当询问git status时,我仍然能够看到修改的文件。 git diff告诉我,该文件的每一行已被修改,而git diff -b显示没有任何差异,所以我想这是一个行结束问题。这很奇怪,因为代码只能从Windows机器上推送。如何摆脱git中的虚假变化?

无论如何,问题是:我怎么能忽略本地,虚假的变化,并与远程存储库中的最新变化合并?

回答

2

首先,你试过git clean -f(注意'-f')?
git config手册页:

clean.requireForce 

一个布尔值,使git-clean做什么,除非给出-f-n默认为真

二,您是否将您的autocrlf设置为false as I mention in this question
(即使从Windows机器推送到Windows PC,Unix eol的文本文件将被转换为Windows eol)

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

+0

我确实使用'-f',但之前没有听说过'autocrlf'。后来做了帮助,谢谢VonC! – zaza 2010-06-27 20:53:48