如何合并不同存储库的两个补丁(git log)

时间:2017-05-10 10:51:15

标签: git git-log git-am

我有一个用例,我想在一个新的仓库中合并两个存储库的一些子目录。

为此,我已经为我需要的目录使用

创建了两个存储库的补丁
git log --pretty=email --patch-with-stat --reverse --full-index --binary -- path/to/file_or_folder > patch1
git log --pretty=email --patch-with-stat --reverse --full-index --binary -- path/to/file_or_folder > patch2

现在,我想使用git am合并新存储库中的补丁,当我这样做时,提交历史记录将由repo进行回购(这是预期的)。有没有办法可以按日期排序提交历史记录,无论提交来自何处?

1 个答案:

答案 0 :(得分:0)

如果要生成git am要使用的修补程序,则应使用git format-patch,而不是git log

提交历史记录永远不会按日期排序,但总是像父/子关系一样。对于提交顺序,日期并不重要。

你可能应该做的是使用format-patch为每个提交生成一个am - 适用的补丁文件,然后按作者日期对这些提交进行排序,并按顺序使用git am修补程序文件,然后按照您的意愿对提交进行排序。