将 git 历史拆分为分支
Splitting git history into branches
我们使用 Git 进行回购。我不知道如何,但我的团队的最新历史结果是这样的:
0 master
\
1-2-3-4-5-6-7 branch1 & branch2
请注意(谢天谢地)还没有人将它与我们的 master 分支合并。现在,我想把它拆分成这样:
5-6-7 branch2
/ \
0 - - - (*) - - (*) master
\ /
1-2-3-4 branch1
我没有使用 Git 的经验,我想知道如何实现
假设 branch1
和 branch2
都指向 7,更安全的选择是创建另一个分支 n_branch1
并执行以下操作:
git checkout <sha_4>
# you'll now be in a detached head
git checkout -b n_branch1
# Now go to master and merge n_branch1
git checkout master
git merge n_branch1
# Once branch1 commits are merged, apply branch2 on top of them.
git checkout branch2
git rebase master
注意:您也可以通过将 branch1
恢复为 4 来重复使用它(请参阅 here)。
我们使用 Git 进行回购。我不知道如何,但我的团队的最新历史结果是这样的:
0 master
\
1-2-3-4-5-6-7 branch1 & branch2
请注意(谢天谢地)还没有人将它与我们的 master 分支合并。现在,我想把它拆分成这样:
5-6-7 branch2
/ \
0 - - - (*) - - (*) master
\ /
1-2-3-4 branch1
我没有使用 Git 的经验,我想知道如何实现
假设 branch1
和 branch2
都指向 7,更安全的选择是创建另一个分支 n_branch1
并执行以下操作:
git checkout <sha_4>
# you'll now be in a detached head
git checkout -b n_branch1
# Now go to master and merge n_branch1
git checkout master
git merge n_branch1
# Once branch1 commits are merged, apply branch2 on top of them.
git checkout branch2
git rebase master
注意:您也可以通过将 branch1
恢复为 4 来重复使用它(请参阅 here)。