2012-02-13 103 views
4

我在分支上運行git rebase origin/[branch],這是在開發過程中合併多個本地分支的結果。正如所料,我遇到了一些衝突並開始修復它們。前幾個很好。 Git列出了這些文件,我把它們清理乾淨了,爲每個文件都做了合適的git add [file],然後做了一個git rebase --continue,然後就完成了。修復衝突後git rebase不再繼續

但現在我已經打了一個補丁,衝突和清理,但我無法繼續出於某種原因。我已經清理的文件和所有的人都在上演,但是當我git rebase --continue我得到:

$ git rebase --continue 
You must edit all merge conflicts and then 
mark them as resolved using git add 

我知道一個事實,這個承諾在問題消除,後來重新添加和修改的文件。但是,當我git status所有我看到的是:

$ git status 
# Not currently on any branch. 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# modified: [file 1] 
# modified: [file 2] 
# modified: [file 3] 
# 

被刪除的文件沒有顯示出來。

所以沒有文件需要修改,但git堅持我仍然需要做其他事情才能繼續我的行程。

回答

4

想通這個問題,並把這個位置的情況下,任何人都遇到它:

我注意到,我想輾轉於這次提交仍然是文件系統上的文件,正在由混帳還是跟蹤。所以,我做了一個git rm [file]它,並得到了以下消息:

$ git rm [file one] 
[file two]: needs merge 
rm '[file one]' 

當我檢查[file two]果然仍處於衝突狀態,需要加以固定。在修理和分期後,我能夠git rebase --continue。我仍然不確定爲什麼刪除的文件沒有顯示爲已刪除,或者爲什麼在執行git status時未顯示此文件需要修復。

0

您可以試試git ls-files -u以獲取git認爲未合併的文件列表。