在本地合并三个 github 分支

Merge three github branches locally

目前我有一个场景,我想在本地将两个分支合并到第三个分支。所以场景是。仅供参考,我是 github 的菜鸟。

  1. 硕士 --> Epic_1
  2. 硕士 --> 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

git log

查看master的状态。它将是本地 unless/until 你明确地将 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 中的所有内容一样,这只会在本地发生,因此您的任何遥控器上的任何内容都不会受到影响。当然,你也可以在你的远程推送 master 分支来更新它。