本文介绍 Android Studio 中的 Git rebase 操作,另有姊妹篇- Git 操作:rebase 详解(命令行)
官网:https://git-scm.com/docs/git-rebase
初始 tmp 分支节点状态:
rebase 当前分支
修改当前分支的节点记录。如:删除节点、合并节点、修改节点的顺序等。
光标选中 a,在 a 上右键选择 Interactively Rebase from Here…
点击后:
删除节点
删除节点 d:
- 修改 d 前的选项为 skip
- 点击 Start Rebasing
完成删除,当前节点状态:init-a-b-c。
合并节点
合并 b、c 节点
- 修改 c 前的选项为 squash
- 点击 Start Rebasing
- 编辑 commit 信息
完成合并,当前节点状态:init-a-b。
修改节点的顺序
调换 a、b 的顺序
- 选中 b,点击左下角的 ?
- 点击 Start Rebasing
完成修改,当前节点状态:init-b-a。
rebase 当前分支和其他分支
temp、master 分支状态:
点击顶部工具栏的 VCS-Git-Rebase,指定 Onto(新基线)为 master,From(上游)不用指定、或指定为 master。
From 不指定,则表示与新基线一致,相当于执行 git rebase master。
效果:将 temp reset 到 master 的节点,再把原 temp 多于 master 的更新内容移植过来。
(注意,如果 onto 远程分支的话,要先 fetch 一下,这里 onto 的是本地仓库的记录)
完成后节点状态:
对比一下,如果使用 temp merge master: