0

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

为此,我为我需要使用的目录的两个存储库创建了补丁

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 进行 repo(这是预期的)。有没有一种方法可以让提交历史按日期排序,而不管提交来自哪里?

4

1 回答 1

0

如果你想生产供消费的补丁git am,你应该使用git format-patch,而不是git log

提交历史从不按日期排序,但总是像父/子关系。日期对于提交的顺序相当不重要。

您可能应该做的是使用每次提交format-patch生成一个可应用的am补丁文件,然后按作者日期对这些提交进行排序并按git am该顺序在补丁文件上使用,然后按照我认为的您希望的方式对提交进行排序。

于 2017-05-10T11:28:07.483 回答