在本地合并三个github分支

在本地合并三个github分支,git,github,merge,git-merge,git-bash,Git,Github,Merge,Git Merge,Git Bash,目前我有一个场景,我想将两个分支本地合并到第三个分支。所以情况是这样的。仅供参考,我是github的noob 主控-->Epic_1 主-->Epic_2 现在我想先将Epic_1分支合并到Master,然后在合并的Epic_1和Master之上将Epic_2分支合并到Master。我不确定要搜索什么才能得到正确的答案,所以添加了这个问题。 重要信息-我希望所有这些都只在本地完成,而不应将任何内容发送到远程分支 谢谢, 雷你刚刚 git fetch # in case these branche

目前我有一个场景,我想将两个分支本地合并到第三个分支。所以情况是这样的。仅供参考,我是github的noob

  • 主控-->Epic_1
  • 主-->Epic_2
  • 现在我想先将Epic_1分支合并到Master,然后在合并的Epic_1和Master之上将Epic_2分支合并到Master。我不确定要搜索什么才能得到正确的答案,所以添加了这个问题。 重要信息-我希望所有这些都只在本地完成,而不应将任何内容发送到远程分支

    谢谢, 雷

    你刚刚

    git fetch # in case these branches are from the remote and to be up-to-date
    
    git checkout master
    
    git merge branch_1
    
    git merge branch_2
    
    你现在可以做了

    git status
    

    看看主人的状态。它将是本地的,除非/直到您明确地将master推到远程(在您的情况下,可能是
    origin

    如果存在合并提交,您将需要解决它们,但您将收到一条适当的消息,指出这一点,这将是一个与此不同的问题

    合并和重定基址以及相关主题(如快进)也有很多选择,但这超出了本问题的范围。

    您只需

    git fetch # in case these branches are from the remote and to be up-to-date
    
    git checkout master
    
    git merge branch_1
    
    git merge branch_2
    
    git checkout master   # go to master since that’s your target branch
    git merge Epic_1      # merge in the first branch
    git merge Epic_2      # merge in the second branch
    
    你现在可以做了

    git status
    

    看看主人的状态。它将是本地的,除非/直到您明确地将master推到远程(在您的情况下,可能是
    origin

    如果存在合并提交,您将需要解决它们,但您将收到一条适当的消息,指出这一点,这将是一个与此不同的问题

    合并和重定基址以及相关主题(如快进)也有很多选择,但这超出了本问题的范围。

    您只需

    git fetch # in case these branches are from the remote and to be up-to-date
    
    git checkout master
    
    git merge branch_1
    
    git merge branch_2
    
    git checkout master   # go to master since that’s your target branch
    git merge Epic_1      # merge in the first branch
    git merge Epic_2      # merge in the second branch
    
    你现在可以做了

    git status
    

    看看主人的状态。它将是本地的,除非/直到您明确地将master推到远程(在您的情况下,可能是
    origin

    如果存在合并提交,您将需要解决它们,但您将收到一条适当的消息,指出这一点,这将是一个与此不同的问题

    合并和重定基址以及相关主题(如快进)也有很多选择,但这超出了本问题的范围。

    您只需

    git fetch # in case these branches are from the remote and to be up-to-date
    
    git checkout master
    
    git merge branch_1
    
    git merge branch_2
    
    git checkout master   # go to master since that’s your target branch
    git merge Epic_1      # merge in the first branch
    git merge Epic_2      # merge in the second branch
    
    你现在可以做了

    git status
    

    看看主人的状态。它将是本地的,除非/直到您明确地将master推到远程(在您的情况下,可能是
    origin

    如果存在合并提交,您将需要解决它们,但您将收到一条适当的消息,指出这一点,这将是一个与此不同的问题

    也有很多关于合并和重定基址的选项以及相关主题,如快进,但这超出了这个问题的范围

    git checkout master   # go to master since that’s your target branch
    git merge Epic_1      # merge in the first branch
    git merge Epic_2      # merge in the second branch
    
    这将给您一个大致如下的结果:

                (old) master      master (after merges)
                        ↓           ↓
    * -- * -- * -- * -- * -- M1 -- M2
                           /      /
    * -- * -- * -- * -- * -      /
                        ↑       /
                      Epic_1   /
                              /
    * -- * -- * -- * -- * -- *
                             ↑
                           Epic_2
    
    与Git中的所有内容一样,这只在本地发生,因此任何远程设备上的任何内容都不会受到影响。当然,然后您可以推动主分支在远程服务器上更新它

    这将给您一个大致如下的结果:

                (old) master      master (after merges)
                        ↓           ↓
    * -- * -- * -- * -- * -- M1 -- M2
                           /      /
    * -- * -- * -- * -- * -      /
                        ↑       /
                      Epic_1   /
                              /
    * -- * -- * -- * -- * -- *
                             ↑
                           Epic_2
    
    与Git中的所有内容一样,这只在本地发生,因此任何远程设备上的任何内容都不会受到影响。当然,然后您可以推动主分支在远程服务器上更新它

    这将给您一个大致如下的结果:

                (old) master      master (after merges)
                        ↓           ↓
    * -- * -- * -- * -- * -- M1 -- M2
                           /      /
    * -- * -- * -- * -- * -      /
                        ↑       /
                      Epic_1   /
                              /
    * -- * -- * -- * -- * -- *
                             ↑
                           Epic_2
    
    与Git中的所有内容一样,这只在本地发生,因此任何远程设备上的任何内容都不会受到影响。当然,然后您可以推动主分支在远程服务器上更新它

    这将给您一个大致如下的结果:

                (old) master      master (after merges)
                        ↓           ↓
    * -- * -- * -- * -- * -- M1 -- M2
                           /      /
    * -- * -- * -- * -- * -      /
                        ↑       /
                      Epic_1   /
                              /
    * -- * -- * -- * -- * -- *
                             ↑
                           Epic_2
    


    与Git中的所有内容一样,这只在本地发生,因此任何远程设备上的任何内容都不会受到影响。当然,您可以按下主分支在远程设备上进行更新。

    是什么命令提供了如此漂亮的图形视图?渴望知道我实际上是用手做的…太酷了!你使用Git多久了?我确实从你的画中明白了。:)已经多年了;不知道我什么时候开始用的。但我花了相当长的时间来了解它的内部结构(我在uni上做了一次关于它的演讲),所以这可能也是“错的”;)但我很高兴你从图纸上理解了这一点,这正是我想做的:)@poke,谢谢你提供的细节。我也做了同样的事。我想知道的另一件事是,我可以在本地机器中将这个分支保存为新的分支名称吗?因此,我可以继续检查其他分支,并且在本地,我将随时在我的机器上安装该分支。再次感谢什么命令为您提供了如此漂亮的图形视图?渴望知道我实际上是用手做的…太酷了!你使用Git多久了?我确实从你的画中明白了。:)已经多年了;不知道我什么时候开始用的。但我花了相当长的时间来了解它的内部结构(我在uni上做了一次关于它的演讲),所以这可能也是“错的”;)但我很高兴你从图纸上理解了这一点,这正是我想做的:)@poke,谢谢你提供的细节。我也做了同样的事。我想知道的另一件事是,我可以在本地机器中将这个分支保存为新的分支名称吗?因此,我可以继续检查其他分支,并且在本地,我将随时在我的机器上安装该分支。再次感谢什么命令为您提供了如此漂亮的图形视图?渴望知道我实际上是用手做的…太酷了!你使用Git多久了?我确实从你的画中明白了。:)已经多年了;不知道我什么时候开始用的。但我花了相当长的时间来了解它的内部结构(我在uni上做了一次关于它的演讲),所以这可能也是“错的”;)但我很高兴你从图纸上理解了这一点,这正是我想做的:)@poke,谢谢你提供的细节。我也做了同样的事。我想知道的另一件事是,我可以在本地机器中将这个分支保存为新的分支名称吗?因此,我可以继续检查其他分支,并且在本地,我将随时在我的机器上安装该分支。再次感谢什么命令为您提供了如此漂亮的图形视图?我很想知道我是亲手做的