Git Rebase似乎已经有效,但所有提交仍然在日志中显示...我处于什么状态?

Pan*_*ood 8 git rebase

我想我使用rebase压缩了最后40次提交.我遵循本指南以确保我没有做任何愚蠢的事 - http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html

问题是,我认为我做了一些愚蠢的事.

无法保存(交互式)文本文件,因此似乎rebase失败了,但它给出的消息和下面的一些其他内容表明它可能有效.

不知道我在哪里或做什么(甚至我的名字是什么).这是我做的:

  • 我输入了git rebase -i HEAD~40
  • 我编辑了一个文本文件,通过将所有行改为以"squash"开头,除了顶部之外
  • 我在Windows上,使用EditPad ...文件无法保存!哦,不...(只读/权限?).
  • 我把它保存到一个随机目录.
  • 命令行显示某种成功(不幸的是我丢失了消息).我不知道它如何成功或知道我保存的文件在哪里...

  • git rebase - 继续说"没有进行任何改变?

  • git reflog建议它有效(据我所知至少,'rebase'这个词在最近的40多次提交中显示)例如:

    9992445 HEAD @ {8}:rebase:报告工作

  • 但是跑步git log显示了所有40个提交我刚刚'重新'

这看起来不太好.有谁知道我在哪个州?我是不是很清楚,这是一个僵尸变形吗?

dah*_*byk 18

如果无法保存rebase"todo list",则你的rebase不起作用.

最简单的方法壁球,很多提交会做git reset --soft HEAD~40,然后git commit用新的消息-假设你想壁球所有的人.

  • +1我喜欢`git reset --soft`解决方案:) (2认同)