У меня есть 2 репо, репо1 и репо2, каждое из которых содержит только одну ветвь, так что репозитории могут быть отображены следующим образом:
репо 1: A --- B --- C
репо 2: A --- B --- C --- D --- E --- F
Здесь я хочу запустить git fast-export --all > export1
для repo1 и git fast-export --all > export2
для repo2, чтобы у меня было два текстовых файла "export1" и "export2".
Затем я запускаю git diff export1 export2 > diffs.patch
, чтобы получить различия из git fast-export
и теоретически, содержащую только информацию о коммитах, D --- E --- F
.
Как мне изменить diffs.patch и какие команды я использую, чтобы я мог применить патч к изолированному repo3, который выглядит следующим образом:
repo3: A --- B --- C --- G
, чтобы он выглядел так, как только файл патча будет изменен, отправлен по электронной почте и применен:
исправлено repo3: A --- B --- C --- G --- D --- E --- F
.
Это ДОЛЖНО быть сделано без использования git bundle
(нельзя использовать двоичные файлы) и git format-patch
(я также хочу исправлять теги и ветви, что, насколько мне известно, git format-patch
не может сделать).