Как объединить два патча (git log) из разных репозиториев

У меня есть сценарий использования, когда я хотел объединить несколько подкаталогов двух репозиториев в новом репо.

Для этого я создал патч для обоих репозиториев для нужных мне каталогов

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, когда я делаю это, история коммитов идет репо за репо (что ожидается). Есть ли способ, которым я могу отсортировать историю коммитов по дате, независимо от того, откуда взялся коммит?

1 ответ

Если вы хотите производить патчи для использования git am, вы должны использовать git format-patchне git log,

История коммитов никогда не сортируется по дате, но всегда похожа на отношения родитель / потомок. Даты довольно не важны для порядка коммитов.

Что вы, вероятно, должны сделать, это использовать format-patch производить один am-применимый файл патча на коммит, затем упорядочить коммиты по дате автора и использовать git am в таком порядке в файлах патчей коммиты упорядочиваются так, как вы хотите, я думаю.

Другие вопросы по тегам