如何将一个git的master分支提交添加到另一个git中?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将一个git的master分支提交添加到另一个git中?相关的知识,希望对你有一定的参考价值。
我有一个git存储库,其主分支在xxx提交。这还包括一些分支机构。
主分支源(使用xxx提交)是在2年前从互联网上的一些git repo中提取的。但现在代码更新了该开源软件包。所以,我想使用最新的主分支代码。
但是不要影响我现有的现有分支机构。
所以请告诉我,我怎样才能将这些最新的提交到我现有的主人那里。我还需要最新master的所有提交。
答案
这是git rebase的完美用例。
如果我理解正确,你在提交A分叉/得到源。然后添加提交BCD。与此同时,添加的原始源代码提交XYZ,现在它看起来像A - X - Y - Z (master)
。你的看起来像A - B(branch1) - C - D (master)
。您希望保留旧的工作,但使用新的源代码。
首先,将您要保存的所有工作放入特定的命名分支。 (还要记住,如果您有提交的引用(分支),无论如何都可以恢复该状态。以下过程将移动分支,因此您可能想要创建“备份分支”):
# A - B(branch1, backup1) - C - D (master, branch2, backup2)
git checkout master && git reset --hard A
# A(master) - B(branch1, backup1) - C - D (branch2, backup2)
git pull source # The remote corresponding to the open source repo
# A - B - C - D (branch2, backup2)
# - X - Y - Z (master)
git rebase master branch1
git rebase branch1 branch2
# A - X - Y - Z (master) - B' (branch1) - C' - D' (branch2)
如果这不是你想要的,请在下方评论。
另一答案
GitHub的帮助页面here和here解释了如何使分叉的repo与源代码库保持同步。
以上是关于如何将一个git的master分支提交添加到另一个git中?的主要内容,如果未能解决你的问题,请参考以下文章