Как переместить каталог и его файлы в поддерево удаленного репо

У меня есть каталог в моем текущем репо, называемый файлами, которые я хочу извлечь во внешнее репо, а затем сослаться в моем основном проекте на поддерево. Как я могу сделать это, не теряя историю моих файлов в моем основном репо, но устанавливая это соединение с поддеревом?

main_project.git <--- files.git

root
---data
------files

перейти к

root
---remote
------files (subtree)

1 ответ

Использование git filter-branch --subdirectory-filter чтобы извлечь эту единственную папку в отдельный репозиторий:

   --subdirectory-filter <directory>
       Only look at the history which touches the given subdirectory. The result
       will contain that directory (and only that) as its project root.

После этого вы можете использовать git submodule или же git subtree включить этот новый репозиторий в ваш второй репозиторий.

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