美文网首页
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