2010-12-13 72 views
4

我是新來的Git,所以讓我知道是否有更好的方法來做到這一點...Git的合併衝突,因爲我刪除了一個文件

所以我分叉在GitHub上一個項目,我做的改變以我想要的方式工作。我做的一個變化是刪除一個文件。所以我用git rm filename刪除了這個文件。現在我想從我分叉的原始回購中獲取最新更改,所以我做了git pull original-remote-repo master。但它傳達了一條消息,表示與我刪除的文件存在衝突(因爲它在我的repo中被刪除,但在「original-remote-repo」中對其進行了更改)。我不關心這個文件的任何修改,因爲我刪除了它。

有沒有我需要做的,以便合併這些而不重新創建文件(因爲我將不得不再次刪除它)?或者我應該採用更好的工作流程?

回答

5

由於您更改了存儲庫中的內容(即刪除了有問題的文件),並且上游也將內容更改爲相同位置(即所涉及的文件),所以存在合併衝突。

Git無法知道您是否想要更改或更改,因爲它無法確定哪一個是「正確」的(也就是說,它無法乾淨地合併這些更改)。

我建議通過刪除文件來解決合併衝突。 (是的,再次)。

上游的變化很可能取決於它們對這個文件的更改,所以你的合併可能不會工作(畢竟,他們幾乎肯定會改變那個文件的原因!),但我相信你'因爲現在你有責任管理這種差異,至少對於你的樹來說,所以我會檢查合併提交併進行其他更改以確保它仍然有效。