我想知道如何将一个远程分支合并到另一个远程分支,并在合并应用后立即删除一个远程分支。
此致,Alexander Chernyaev。
答案 0 :(得分:6)
根据我的理解,您有一个远程 foo ,包含 branch_1 和 branch_2 。 首先,我们不能进行远程合并操作。 我们必须跟踪远程存储库,在本地执行我们想要的操作(例如合并分支),然后将新快照推送到服务器。
即:
你在主分支上。
现在假设我们有两个分支 branch_1 和 branch_2 。您希望将branch_1合并到branch_2,然后删除branch_1 。
您结帐到branch_2,然后将branch_1与它合并:
$ git checkout branch_2
$ git merge branch_1
从那里要么合并顺利要么你有冲突。 合并完成后,您可以删除合并的分支,即 branch_1 ,
$ git branch -d branch_1
然后推动你的工作。
$ git push
如果branch_2不存在于遥控器上,您必须创建它:
$ git push -u foo branch_2
请注意,在本地删除branch_1并不会远程删除它(考虑到它存在于遥控器上)。 为此,我们将对git说:" 什么都不推送到我要删除的分支"即:
$ git push remote_name :branch_name
读取像 git remote push remote_name" nothing&#34 ;:branch_name。
现在有任何意思自动完成吗?
我不知道(虽然我会调查合并后的问题" git hook"),但我不确定我们应该希望它。删除远程分支有点危险。手动这样做是确保我们正在做的事情的好方法。
答案 1 :(得分:2)
您可以使用以下命令
切换到要合并另一个分支的跟踪分支(代表远程分支的本地分支)。git checkout origin/name_of_your_branch
在那之后合并另一个远程分支
git merge origin/brach_name_you_wanted_to_merge
此后,如果发生任何冲突,请解决。然后提交并推送。
,现在checkout
到您的本地分支机构。通过以下命令
git checkout name_of_your_brnach
之后,使用git pull
命令拉出原点。就是这样。
答案 2 :(得分:0)
您可以将它们拉到当地。合并并推动它。要删除此后的冗余分支,只需运行
git push origin :<branch_to_delete>
例如,如果要删除分支A
git push origin :A