git rebase- 合并提交

git rebase

这周学习了一下git rebase,发现这真是一个很强大的命令,这里主要介绍如何用git rebase 来合并分支。

合并多次提交记录

用一个例子来说明

  • 合并最近三次提交记录,执行
git rebase -i HEAD~3

然后你会看到一个像下面这样的命令窗口, 它会提示你相关的命令

对上述命令做一个解释

  • p, pick = 保留该次提交
  • r, reword = 保留该次提交但修改提交信息
  • e, edit = 保留该commit, 但我要停下来修改该提交(不仅仅修改注释)
  • s, squash = 将该提交合并到先前的提交中
  • f, fixup = 同 “squash”一样, 但丢弃这次的提交信息
  • x, exec = 执行shell命令
  • d, drop = 抛弃该次提交
    然后根据自己的需要,执行相应命令修改提交记录, 现在我们保留第一次提交,然后将第二、第三次提交合并到第一次提交上。如下所示:

然后我们按ESC键, 输入:wq保存并退出 vim,会出现以下界面

然后我们修改提交信息

再次按ESC键, 输入:wq保存并退出 ,会显示以下消息

然后git log 查看结果,发现三次提交合并成了一个了。

注意事项:不要合并已经提交远程分支的记录

对了,如果中间不小心退出了 vim 窗口,也不要担心, 执行

git rebase --edit-todo

就能返回刚刚的 vim 窗口

你可能感兴趣的:(git rebase- 合并提交)