Git合并两个本地分支


146

我有分支Master,分支A和分支B。现在我在分支A中工作,我需要将分支A与分支B合并,然后在分支A中继续工作。所有文件都放在分支A和B中。

实现它的快速方法是什么?

Answers:


247

如果我理解你的问题,你想合并branchBbranchA。为此,请先进行branchA如下所示的结帐,

git checkout branchA

然后执行以下命令合并branchBbranchA

git merge branchB

3
我们需要确保本地存储库中存在分支A和B。只有这样我们才能执行合并。
桑索什(Santhosh),

8
问题很明确:I have branch Master, branch A and branch B.
LeeGee

166

这是一张清晰的图片:

假设我们有分支A和分支B

我们要合并分支B到分支A

on branch-B -> A: switch to branch-A

on branch-A: git merge branch-B

32
这一点一点都不清晰,只需将终端输入内容发布起来就更容易理解
lopu,

9
这个答案还不够清楚....“更新分支B”是什么意思...有很多方法可以做到这一点?...而不是开关git的结帐分支-A是更容易理解
ErdinçÇorbacı

2

阿比拉曼的回答是绝对正确的。但是,对于新手来说,他们可能会忘记拉存储库。每当您要进行从branchB到branchA的合并时。第一次结帐并从branchB中拉出(请确保您的分支已用远程分支更新)

git checkout branchB
git pull

现在您的本地branchB已更新为远程branchB现在可以签出到branchA

git checkout branchA

现在您在branchA中,然后可以使用以下命令与branchB合并

git merge branchB

0

如果您或其他开发人员无法进一步处理branchB,我认为最好保留提交,以使恢复工作毫不费力。所以;

git checkout branchA
git pull --rebase branchB

重要的是,不应再使用branchB。

更多; https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/


1
标题中的问题与本地存储库有关,该存储库pull将不起作用。
LeeGee

2
没错,我只是认为增加这些知识将是一个加分,因为可能会在最后推送本地分支。但我想念您指出的观点,我最好将其添加为评论而不是答案。感谢您警告我。
ErdinçÇorbacı

0

在branchB上 $git checkout branchA切换到分支A

在树枝上 $git merge branchB

这就是您所需要的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.