2011-03-30 95 views
2

美好的一天。git rebase衝突,同時合併工作正常

我正在用git簡單svn樣的方式,每天晚上做git pull,並且對它很滿意。但令人討厭的是,在每一次拉我記錄git日誌關於合併。爲了擺脫合併我想開始使用

git pull --rebase origin master 

,而不是簡單的上拉,但該命令給了我很多衝突的錯誤,而我只是改變了什麼都沒有,只有我想的是要與同步遠程回購,這似乎是一個痛苦的任務來完成。

我只是想知道這些衝突是從哪裏來的,而合併只是起作用。

以下是錯誤消息的樣子: 警告:靜噪56個空白錯誤 警告:61行添加空白錯誤。 回落至修補基地和3路合併... 自動合併promo.pl 衝突(含量):合併衝突promo.pl

而且我打了以下的法術這並沒有幫助:

git config core.whitespace nowarn 
git config core.autocrlf false 

似乎git不喜歡我的空白由於某種原因,並摧毀它,甚至不要求任何許可,如何禁止這一點?

回答

1

問題很可能是您的提交併不完全適用於遠程回購的當前狀態。這揭示了git pull merge和git pull rebase之間的本質區別:

merge從回購中提取最新的提交併將它們應用於提交之上。 rebase拉取回購的最新狀態並在其上應用您的提交。

最有可能的問題是,您的提交,乾淨地應用於您開始的HEAD,並不會乾淨地應用於當前的遠程HEAD。

欲瞭解更多信息嘗試Why does git pull --rebase fail when replaying existing commits?git rebase, keeping track of 'local' and 'remote'

對於空白的警告,他們是正義的,警告。雖然我會建議保持你的空白清理差異的清晰度,但據我所知,他們永遠不會造成合並衝突。

P.S.如果合併提交日誌煩你,請給git log --no-merges試試。

+0

謝謝你的回答,問題是我沒有在這個倉庫中最近的任何提交,也許這是以前的拉合併和git考慮他們莫名其妙,這所有git的東西很奇怪。 – Dfr 2011-04-04 16:42:13