如何结合两个git历史并将新历史置于旧历史之上?

时间:2018-04-13 20:30:43

标签: git github

我有两个完全不同历史的git分支。

我需要做什么:

我需要获得分支B的历史并将其组合并将其置于分支A的历史之上。我想"合并"分支B进入分支A,但它们有完全不同的历史。

我该怎么办?

2 个答案:

答案 0 :(得分:3)

我认为您应该使用git rebase(因为在应用第一次提交时难以解决冲突),而是使用移植功能并执行git filter-branch

http://gitolite.com/archived/grafting.html

答案 1 :(得分:1)

两个Git分支具有不同的提交历史(至少从它们从父分支开始的那一刻起),这是很常见的。 你想要从分支B和&#34获得所有提交;将它们放在分支A的历史记录上#34;所以看起来最合适的工具将是git rebase。 我无法看到有关为两个分支执行合并的任何信息,但我认为您不能保留所有这些分支。在这种情况下,我建议尝试

iPhone8+

您可能会在rebase过程中遇到一些冲突,因此以下命令也会有所帮助:

git checkout B
git rebase A --preserve-merges

有关您可以在此Git rebase documentation和此Git Book

中找到的重新定位分支的详细信息