将git历史拆分为分支

时间:2017-09-29 17:33:50

标签: git split branch revision-history

我们使用Git进行回购。我不知道我的团队的最新历史是如何结束的:

0                 master
 \
  1-2-3-4-5-6-7   branch1 & branch2

请注意(谢天谢地)没有人将此与我们的主分支合并。现在,我想把它分成这样结束:

             5-6-7     branch2
            /     \
0  - - -  (*) - - (*)  master
 \       /  
  1-2-3-4              branch1

我没有Git经验,我想知道如何实现这一目标

1 个答案:

答案 0 :(得分:1)

假设branch1branch2都指向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来重复使用{{1}}。(请参阅here)。