代码之家  ›  专栏  ›  技术社区  ›  dotty

在GIT中合并两个分支

  •  88
  • dotty  · 技术社区  · 14 年前

    merge 命令没有。

    假设我们在分支“a”中有一个工作项目。

    我回家对这个分支进行更改并将其保存为“B”。

    有没有办法将两个分支“B”和“C”合并在一起,然后将更改作为一个新分支提交,比如说“D”?

    或者我错过了“合并”的要点?

    2 回复  |  直到 9 年前
        1
  •  230
  •   knittl    14 年前

    merge 用于将两个(或多个)分支连接在一起。

    举个小例子:

    # on branch A:
    # create new branch B
    $ git checkout -b B
    # hack hack
    $ git commit -am "commit on branch B"
    
    # create new branch C from A
    $ git checkout -b C A
    # hack hack
    $ git commit -am "commit on branch C"
    
    # go back to branch A
    $ git checkout A
    # hack hack
    $ git commit -am "commit on branch A"
    

    要将B和C的更改恢复到A,请签出A(在本例中已完成),然后使用merge命令:

    # create an octopus merge
    $ git merge B C
    

    你的历史会像这样:

    …-o-o-x-------A
          |\     /|
          | B---/ |
           \     /
            C---/
    

    如果要跨存储库/计算机边界合并,请查看 git pull 命令,例如来自具有分支A的pc(此示例将创建两个新提交):

    # pull branch B
    $ git pull ssh://host/… B
    # pull branch C
    $ git pull ssh://host/… C
    
        2
  •  92
  •   Mahesh Kumaran    5 年前

    如果要合并中的更改 支行

    1. 你应该在主干线上 git checkout MainBranch
    2. git merge SubBranch
        3
  •  1
  •   Kishor Unnikrishnan    5 年前

    忽略默认情况下创建的合并提交

    比如说,一个新的功能分支从已经有2个提交的主节点签出,

    • “添加A”,“添加B”

    Checkout a new feature_branch

    功能分支然后添加两个提交-->

    enter image description here

    现在,如果要将功能分支更改合并到主控形状,请执行以下操作 git merge feature_branch 坐在主人身上。

    'Merge branch 'feature_branch' 有分歧

    如果您真的需要忽略这些提交(在FB中进行的提交),并将在feature\u分支中所做的所有更改添加为单个提交,如 'Integrated feature branch changes into master' ,运行 git merge feature_merge --no-commit .

    使用--no commit,它将执行合并并在创建合并提交之前停止,我们将在master中获得feature branch中添加的所有更改,并有机会创建一个新的提交。

    阅读此处了解更多信息: https://git-scm.com/docs/git-merge