Как подмножество вопроса detach-subdirectory, уже сделанное до и учитывая тот факт, что, несмотря на то, что было много вопросов о процессе разделения и слияния репозиториев git, я не мог найти тот, который касается предмета расщепления при наличии подмодулей.Разбиение подкаталога с подмодулями в отдельный репозиторий git
Таким образом, в следующем сценарии:
.git/
.gitmodules
folder/
data/
content/
other_data/
submoduleA/
submoduleB/
Я хотел бы получить два хранилища со следующей структурой:
.git/
data/
и
.git/
.gitmodules
content/
other_data/
submoduleA/
submoduleB/
Первый случай не является и может быть легко решена с помощью метода, описанного в detach-subdirectory.
Второе не так много. Существование подмодулей и тот факт, что .gitmodules содержит полный путь для folder/content/submoduleA
и folder/content/submoduleB
, заставляет часть истории быть несовместимой, поскольку .gitmodules ссылается на несуществующую структуру каталогов (после использования ветви фильтра).
Так что я хотел бы знать, есть ли способ сделать это, не вызывая непоследовательной истории.
Используя вторую команду мерзавец фильтр-филиальную я смог переписать .gitmodules с SED команды, однако фактическое подмодульные папки по-прежнему остаются нетронутыми (как с индексным фильтром, так и с древовидным фильтром). Только подкаталог-фильтр смог их изменить, но затем удаляется .gitmodules. Команда разделения подмодуля git, похоже, делает именно то, что я намереваюсь, но, читая поток, у меня сложилось впечатление, что у него есть несколько проблем, поэтому я не чувствую себя комфортно, используя его. – Unode
@Unode: Я понимаю. Я не думаю, что этот конкретный патч находится в активном развитии прямо сейчас. – VonC