如何将一个git的master分支提交添加到另一个git中?

问题描述 投票:2回答:2

我有一个git存储库,其主分支在xxx提交。这还包括一些分支机构。

主分支源(使用xxx提交)是在2年前从互联网上的一些git repo中提取的。但现在代码更新了该开源软件包。所以,我想使用最新的主分支代码。

但是不要影响我现有的现有分支机构。

所以请告诉我,我怎样才能将这些最新的提交到我现有的主人那里。我还需要最新master的所有提交。

git github
2个回答
0
投票

这是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)

如果这不是你想要的,请在下方评论。


0
投票

GitHub的帮助页面herehere解释了如何使分叉的repo与源代码库保持同步。

© www.soinside.com 2019 - 2024. All rights reserved.