关于Git / Vim交互的问题

Questions on Git/Vim interactions

本问题已经有最佳答案,请猛点这里访问。

我有以下屏幕,需要必要的命令来合并2个提交。

screenshot of vim running in windows console during an interactive rebase


您应该按escapebkbd,然后输入:cq(即:(冒号)。然后是c q,然后是enter)。

现在您将离开vi编辑器,它是一个很好的编辑器,但有一点学习曲线。

相反,安装Gitpad,它将把记事本设置为Git的文本编辑器。

然后您可以再次运行REBASE命令,您应该被放置在熟悉的记事本编辑器中。(现在,我承认记事本是一个有点平庸的编辑器,但是没有理由要学习一个有几十年历史的Unix文本编辑器,而你只是学习一个只有十年历史的Unix版本控制系统。)一旦记事本打开,请按照它提供的说明操作-在这种情况下,将第二行从pick更改为fixup(或可能是squash)可能是正确的。


您正处于一个交互式的钢筋网中间,Git已经将您放置在VIM编辑器中,这样您就可以交互式地告诉Git要采取的操作。

您应该学习VIM的基础知识,或者配置Git使用不同的编辑器。

但现在,基本上您希望用文本"squash"替换第二个"pick",这样两个提交就合并为一个提交。

步骤:

  • escapebkbd以确保您处于"命令模式"
  • jabbkbd向下到第二行
  • 按几次xbakbd,直到"pick"字被删除。
  • iakbd进入"插入模式"并键入文本"挤压"
  • escapebkbd退出"插入模式",返回"命令模式"
  • 键入:wq退出VIM编辑器

你现在已经完成了钢筋。