Как объединить два патча (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
в таком порядке в файлах патчей коммиты упорядочиваются так, как вы хотите, я думаю.