如何中断git rebase?

时间:2016-04-28 02:07:12

标签: git git-rebase

例如,如果我现在在feature分支上,我想将其重新绑定到master分支,所以我运行以下命令。

  

git rebase master

众所周知,git将切换到分支主服务器,找到功能和主分支的合并基础,并逐个将功能分支的补丁应用到主分支。

现在我遇到了冲突,我运行git difftool来解决冲突。在解决冲突时,我将源代码编辑为合并状态,我不想要顺序补丁。我现在如何完成git rebase

1 个答案:

答案 0 :(得分:2)

如果您想在中间停止rebase,则应执行以下操作。

  1. 在您解决了所有冲突点之后,您应该使用git add将更改添加到索引,并使用git commit创建新的提交。
  2. 但是这个将会悬挂一个,所以你需要以某种方式标记它。最简单的方法是使用临时标记git tag,但您也可以简单地记住它的SHA-1。
  3. 然后你应该使用git rebase --abort将你的分支返回到rebase之前的状态
  4. 现在,您可以强制将分支设置为与git reset --hard <tag_name_or_remembered_SHA1>合并期间创建的提交。
  5. 在任何情况下,您都可以使用git reset --hard还原更改。您可以检查git reflog的输出以查看最近操作的完整列表,包括rebase,resets和new commit。