2017-06-15 231 views
0

我試圖重新排序3次提交。Git rebase上一個簡單的提交重新排序失敗,沒有采取任何行動

我目前的狀況是:

A -> B -> C 

我想變基並獲得這樣的:

A -> C -> B 

(只是交換承諾BC

我運行命令git rebase -i A

我的編輯器打開了,我改變了選擇完成並保存。 什麼都沒有發生。

我注意以下幾點:

當我運行變基命令,我的編輯器打開,而且我已經看到在終端執行以下操作:

Successfully rebased and updated refs/heads/master. 
rm: cannot remove `/path/to/git/repo/.git/rebase-merge': Directory not empty 

雖然我還是沒有做什麼運行rebase命令後(我沒有在編輯器中編輯任何東西)。

我錯過了什麼?

+0

請使用正確的foramtting。 – SteveFest

+0

你的編輯器是什麼? – mkrieger1

+0

編輯選擇並保存後,你是否也退出了編輯器? – mkrieger1

回答

0

看起來可能並不像它,但實質上這是How can I use gvim for svn commit messages under Windows?的重複也就是說,這是vim/gvim標誌和/或設置問題。 (這個問題通常發生在許多基於GUI的編輯器上,而不僅僅是gvim,但是每種方法的治療都取決於基於GUI的編輯器。)你告訴Git運行gvim,Git以gvim提供的方式執行一個「請編輯這個其他文件」請求到一個單獨的實例。

發出請求後,Git運行的gvim說:「全部完成!」它成功退出,Git認爲這意味着「全部完成編輯」。 Git的讀取文件,這當然是不,一些GVIM的其他實例現在正在運行,讓您編輯指令文件和Git把原來的不變文件並執行無操作底墊。

治癒率是指導了Git運行留下來,等到請求的文件編輯完成GVIM。然後當git運行的gvim退出時,文件完成了,Git可以繼續讀取它。我不使用這個特定的編輯器和模式,所以不知道是否-f作爲啓動標誌,或.vimrc設置(set guioptions+=f),是優越的。

(旁白:發生故障刪除目錄,因爲GVIM創造內它.swp文件。)

+0

-f像魅力一樣工作。感謝您的詳細解釋。 – galp

相關問題