IDEA Git操作(三)使用 cherry-pick、交互式 rebase 自由修改提交树

说明

本教程按照 git在线练习 顺序进行,将在线测试的命令操作落地到 IDEA,使用开发工具来实现所有在线练习中的操作。

你可以结合 git在线练习 来学习本教程,先在线学习git命令,再在 IDEA 中实现相同操作。

cherry-pick

准备提交结构

  • 切换到 master,并重置到第二次提交
  • 删除 pushed 和 local 分支

a

新建 bugFix、side 和 another 分支
a

  • 对bugFix、side和another分支,分别做两次提交
  • 切换到 master

a

上面的提交历史对照 learngitbranching.js.org 的结构图a

cherry-pick bufFix 2、side 1和another 2三个提交到 master 分支

选中这三个提交

a

右键选择 cherry-pick

a

如果出现代码合并提示,选择 merge,将 bufFix 2 提交的代码合并到 master 的代码

a

按照正确代码逻辑,向中间合并代码

a

完成后,生成了一个新的提交

a

接下来,按照相同的操作,完成 side 1 和 another 2 的代码合并操作,同样也会生成两个新的提交

a

上面的提交历史对照 learngitbranching.js.org 的结构图
a

交互式 rebase

准备提交结构

  • 重置master到第二次提交

  • 删除 bugFix、side 和 another 分支
    a

  • 做四次提交

a

上面的提交历史对照 learngitbranching.js.org 的结构图
a

用交互式 rebase 操作自由调整提交

在 master 分支,右键点击 “添加打印3”,选择交互式 rebase
a

在交互界面中,丢弃“添加打印3”

a

向上移动一步 “添加打印6”
a

查看将要执行的命令

a

在这里看到,会按以下顺序执行:

  1. 丢弃“添加打印3”
  2. 选取“添加打印4”
  3. 选取“添加打印6”
  4. 选取“添加打印5”

a

点击开始执行 rebase 操作
a

过程中可能会出现3次合并代码的操作提示,可以按照三步的顺序,合并三句打印代码

a

上面的提交历史对照 learngitbranching.js.org 的结构图

a

用交互 rebase 将 4,6,5 压缩成一个分支

learngitbranching.js.org 中略过了压缩分支的操作

右键点击“添加打印4”的提交,执行交互式 rebase

a

将 5 和 6 设置为 Fixup

a

设置完的状态如下
a

rebase 完成后,三次提交被压缩为一次提交

a

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青木编码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值