美文网首页
Interactive Rebase 交互式衍合

Interactive Rebase 交互式衍合

作者: abc鱼 | 来源:发表于2017-10-19 16:50 被阅读0次

常用功能:

  1. 合并 commit
  2. 调整 commit 顺序
  3. 删除 commit

注: 对于已提交到远端的 commit 不要做以上操作.


  1. 合并 commit

场景描述:
dev_2 本地分支, 新建了一个 Student 类, 第一次提交了 .h & .m 文件, 第二次提交了工程文件(忘记了...)

目的:
把 eba0184 和 2ae21b7 合并成一个 commit.

操作:
当前分支 dev_2, 选中上述 2个 commit 的前一个 commit, 右键选择"Rebase children 4c12e0a interactively…",
选中 2ae21b7, 点击下方的"用以前的提交来 squash (Squash with previous)", 出现一条新的 commit,
选中这条 commit, 点击下方的"编辑信息 (Edit message)", 或者双击这条 commit, 来修改 commit 信息,
输入 "add - Student", 点击确定.
变成一条 commit 啦. (≧▽≦)/啦啦啦

1.1.png 1.2.png 1.3.png 1.4.png 1.5.png
  1. 调整 commit 顺序

操作与合并 commit 类似, 此处使用"上下箭头"来调整 commit 的顺序.

2.1.png
  1. 删除 commit

操作与合并 commit 类似, 此处使用"删除"来删除 commit.


项目中分支使用场景

  1. 主分支: master
  2. 若干功能分支:
    若独立开发, 则不用将分支推送到远端;
    若多人合作, 则需要推到远端.
    功能开发完成后, 由一人整理commit, 并合并到 master / 版本分支, 删除功能分支.
    生命周期: 功能开发完毕
  3. 若干修复缺陷分支:
    待缺陷验证后, 合并到 master / 版本分支.
    生命周期: 缺陷验证完毕
  4. 版本分支:
    项目中版本迭代中的功能开发在时间上可能是交叉进行的, 所以需要此分支来存放 已开发完毕的功能. 待此版本发布后, 再合并到 master.
    生命周期: 版本迭代完毕

相关文章

网友评论

      本文标题:Interactive Rebase 交互式衍合

      本文链接:https://www.haomeiwen.com/subject/fmtpuxtx.html