Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 在特殊情况下如何合并(或重组)两个分支机构以获得发展_Git_Merge_Repository_Git Branch_Branching And Merging - Fatal编程技术网

Git 在特殊情况下如何合并(或重组)两个分支机构以获得发展

Git 在特殊情况下如何合并(或重组)两个分支机构以获得发展,git,merge,repository,git-branch,branching-and-merging,Git,Merge,Repository,Git Branch,Branching And Merging,我的当前树状态如下所示: Q-W-E (Br2) / ----A-B-C-D-E-F-G-H (develop) \ X-Y-Z (Br1) 现在,我需要将这两个分支合并到develope(换句话说develope应该包含提到的两个新特性(分支Br1和Br2) 问题是在合并Br2之前,我应该合并Br1。原因是:Br1包含分支Br2上的功能所需的一些代码(分支Br2上的功能即将完成-我需要添加一个小命令

我的当前树状态如下所示:

                Q-W-E (Br2)
               /
----A-B-C-D-E-F-G-H (develop)
       \
        X-Y-Z (Br1) 
现在,我需要将这两个分支合并到
develope
(换句话说
develope
应该包含提到的两个新特性(分支
Br1
Br2

问题是在合并
Br2
之前,我应该合并
Br1
。原因是:
Br1
包含分支
Br2
上的功能所需的一些代码(分支
Br2
上的功能即将完成-我需要添加一个小命令,它将使用分支
Br1
上的一些代码,必须调用一个函数-此函数在分支
Br1
上实现)

此外,与
develope
相比,这两个分支并不新鲜


我一步一步地寻求帮助(甚至是精确的命令),因为我是git的新手,我知道犯错误很容易。显然,我有一些经验,我知道合并、重基、提交等等,但是这种经验太差,无法在存储库上进行实验

让我们从树开始:

                Q-W-R (Br2)
               /
----A-B-C-D-E-F-G-H (develop)
       \
        X-Y-Z (Br1) 
(我将第二个E重命名为R)

简单而直接的合并方式是:

  • 备份您的存储库(无论如何,您都会进行常规备份,对吗?)

  • git签出开发

  • git merge Br1

  • 3a。如果存在合并冲突-解决、添加和提交以完成合并

                        Q-W-R (Br2)
                       /
        ----A-B-C-D-E-F-G-H-M1 (develop)
               \           /       ^
                X-Y-Z (Br1)       HEAD
    
                    Q-W-R (Br2)
                   /      \
    ----A-B-C-D-E-F-G-H-M1-M2 (develop)
           \           /          ^
            X-Y-Z (Br1)          HEAD
    
  • git merge Br2
  • 4a。如果存在合并冲突-解决、添加和提交以完成合并

                        Q-W-R (Br2)
                       /
        ----A-B-C-D-E-F-G-H-M1 (develop)
               \           /       ^
                X-Y-Z (Br1)       HEAD
    
                    Q-W-R (Br2)
                   /      \
    ----A-B-C-D-E-F-G-H-M1-M2 (develop)
           \           /          ^
            X-Y-Z (Br1)          HEAD
    

    可能只是一个打字错误或类似的错误,但是:您有两个
    E
    提交。也许br2应该指向
    Q-W-R
    R