2017-06-15 44 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

相关问题