我注意到我在运行git rebase --interactive
时已悄悄地失去了提交,所以我在一个简单的测试回购中重新创建了该问题。“git rebase --interactive”在尝试重新排序时悄悄放弃了提交
我有四个提交,我想重新排序其中两个。这是我的开始提交:
55d4ca6 1 <-- origin/master
d70d325 2
b613c5b 3
2bd1177 4 <-- master
每个提交是独立于其他;他们都处理不同的文件。我想重新排序提交以切换第2和第3个提交。我将使用git rebase --interactive origin/master
执行此操作。运行命令给我我提交的顺序Vim的窗口,符合市场预期:
pick d70d325 2
pick b613c5b 3
pick 2bd1177 4
我要去交换承诺2和3,所以我重新安排他们在vim像这样:
pick b613c5b 3
pick d70d325 2
pick 2bd1177 4
我希望这两个提交被交换,就像这样:
55d4ca6 1
bf330a8 3
5c6f9af 2
7cb8db1 4
然而在实践中我提交的一个简直消失了,我的回购留下这个:
55d4ca6 1
7de7fb0 3
10fc3a7 4
我错误地使用了rebase --interactive
?或者这是Git中的错误?
我在最新的Window Git版本(1.9.5.msysgit.0)上。在过去的几个月里,我经常在几个Git版本中注意到这一点。
编辑1:用文本替换vim和gitk图像。如果您想查看我所看到的具体内容,请查看原始问题修订。
rebase命令的输出是什么? git reflog的输出是什么? – michas
尝试阅读'vim'会话中的配色方案后,我的眼睛受伤... – twalberg
没有开玩笑@twalberg。对于文本内容,请将它们复制并粘贴到此处,然后进行适当的格式化。有些人已经有视觉问题,一张照片可能值1k字,除非你看不到它们来破译它们。照片可能毫无价值。 – vgoff