Как объединить два репозитория Git? - PullRequest
1434 голосов
/ 15 сентября 2009

Рассмотрим следующий сценарий:

Я разработал небольшой экспериментальный проект A в своем собственном репозитории Git. Сейчас он созрел, и я бы хотел, чтобы A стал частью более крупного проекта B, у которого есть свой большой репозиторий. Теперь я хотел бы добавить A в подкаталог B.

Как мне слить А в Б, не теряя истории ни с какой стороны?

Ответы [ 22 ]

0 голосов
/ 15 декабря 2018

Я хотел переместить небольшой проект в подкаталог большего. Поскольку в моем небольшом проекте было мало коммитов, я использовал git format-patch --output-directory /path/to/patch-dir. Затем в более крупном проекте я использовал git am --directory=dir/in/project /path/to/patch-dir/*.

Это кажется намного менее страшным и намного чище, чем ветвь фильтра. Конечно, это может быть применимо не ко всем случаям.

0 голосов
/ 24 ноября 2015

Данная команда является наилучшим возможным решением, которое я предлагаю.

git subtree add --prefix=MY_PROJECT git://github.com/project/my_project.git master
...