2010-06-11 24 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