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