【问题标题】:Merging git branch to another source将 git 分支合并到另一个源
【发布时间】:2019-01-04 07:48:19
【问题描述】:

我从 branch_1 创建了一个功能分支,然后从 branch_1 创建了 branch_1.1。现在我想将我的功能分支的更改合并到 branch_1.1,这样做的正确方法是什么? (我不介意将功能分支中的所有提交压缩为一个提交)

【问题讨论】:

    标签: git merge version-control git-merge


    【解决方案1】:

    假设现在的提交历史如下:

        master   branch_1
          |         |
    ...---A---...---B---...---C   branch_1.1
                     \            
                      D---...---E  feature
    

    您可以通过以下方式feature 分支直接合并到branch_1.1

    git checkout branch_1.1
    git merge feature
    

    提交历史将是:

        master   branch_1
          |         |
    ...---A---...---B---...---C---M  branch_1.1
                     \           /
                      D---...---E  feature
    

    或者您可以与 squash 合并并变基

    git checkout feature
    git pull origin branch_1.1 --rebase --squash
    git checkout branch_1.1
    git merge feature
    

    提交历史将是:

        master   branch_1
          |         |
    ...---A---...---B---...---C---S  branch_1.1, feature
    

    【讨论】:

    • 这些方法中的哪一种能更好地维护适当的版本控制?
    • 如果你想让提交历史易于阅读它是一个合并操作,那么你最好选择选项 1。如果你想让提交历史保持干净和线性,那么你会更好地使用选项 2。
    猜你喜欢
    • 1970-01-01
    • 2013-11-09
    • 2013-02-21
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2010-12-15
    • 2017-08-04
    • 2016-03-23
    相关资源
    最近更新 更多