Git合并两个本地分支
Posted
技术标签:
【中文标题】Git合并两个本地分支【英文标题】:Git merge two local branches 【发布时间】:2014-09-23 02:11:03 【问题描述】:我有分支Master
、branchA
和branchB
。
现在我在branchA
工作,我需要将branchA
与branchB
合并并在branchA
中继续我的工作。所有文件都在branchA
和branchB
中提交。
实现它的快速方法是什么?
【问题讨论】:
【参考方案1】:如果我理解您的问题,您想将branchB
合并到branchA
。为此,
首先结帐branchA
,如下所示,
git checkout branchA
然后执行下面的命令将branchB
合并成branchA
:
git merge branchB
【讨论】:
我们需要确保分支 A 和 B 存在于本地存储库中。只有这样我们才能执行合并。 问题很明确:I have branch Master, branch A and branch B.
我这样做并得到了Branch B|MERGING
。这是什么意思?我只想得到Branch B
的最终结果。
@NemraKhalil 我不知道你想做什么,这可能是正常的,可能是分支 B 无关紧要的事情(你从分支 a 和 b 开始,你想只留下分支 b,如果这就是你的意思,那么只需删除分支 a,但我怀疑这是你想要的,因为你可能会遇到一个非常不同的问题),合并是将两个分支组合成一个分支,因此您可能在一个分支上添加了选项卡并在另一个分支上添加了全屏支持,您可以将它们合并到一个分支上(作为一个巨大的过度简化)【参考方案2】:
这是一张清晰的图片:
假设我们有分支-A 和分支-B
我们想将分支-B 合并到分支-A
on branch-B -> A: switch to branch-A
on branch-A: git merge branch-B
【讨论】:
这个不是很清楚,贴一下终端输入就更容易理解了 这个答案不够清楚......“更新分支-B”是什么意思......有很多方法可以做到这一点,哪一种? ...而不是 switch git checkout branch-A 更容易理解【参考方案3】:阿比拉曼的回答绝对正确。但是,对于 git 新手来说,他们可能会忘记拉取存储库。每当您想从分支B 合并到分支A 时。 首先结帐并从 branchB 拉取(确保您的分支已更新为远程分支)
git checkout branchB
git pull
现在您的本地分支 B 已更新为远程分支 B 现在你可以结帐到branchA
git checkout branchA
现在你在branchA,那么你可以使用以下命令与branchB合并
git merge branchB
【讨论】:
为什么要在这个过程中拉取?问题是 local。【参考方案4】:在branchB上做$git checkout branchA
切换到branch A
在分支上做$git merge branchB
这就是你所需要的。
【讨论】:
【参考方案5】:如果您或其他开发人员不会在 branchB 上进一步工作,我认为最好保留提交以便在不头痛的情况下进行还原。所以;
git checkout branchA
git pull --rebase branchB
不应该再使用 branchB 很重要。
更多; https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/
【讨论】:
在其标题中,该问题与本地存储库有关——pull
不起作用。
你说得对,我只是认为添加这些知识会是一个加分项,因为最后可能会推送本地分支。但是我错过了您指出的要点,我最好将此作为评论而不是作为答案添加。谢谢你警告我。【参考方案6】:
将第一个分支合并到第二个分支:
在第一个分支上:git merge secondBranch
在第二个分支上:移动到第一个分支-> git checkout firstBranch-> git merge secondBranch
【讨论】:
【参考方案7】:很简单,
您需要首先结帐到分支A,为此您可以使用命令git checkout branchA
。
现在你在分支A,只需点击合并命令git merge branchB
。
你就完成了!!!
【讨论】:
【参考方案8】:如果有人也希望获取远程更改,我会推荐以下一种:
git pull
git merge origin/development
【讨论】:
以上是关于Git合并两个本地分支的主要内容,如果未能解决你的问题,请参考以下文章