2013-02-08 3 views
1

У меня есть проект git, содержащий некоторые файлы, скопированные из другого проекта git. Теперь я хочу преобразовать эти файлы в подмодуль git. Могу ли я это сделать, не теряя истории изменений, которые я уже сделал? спасибо!Создание подмодуля git для замещенных скопированных и измененных файлов

+1

Вы должны сначала добавить второе репо в качестве субмодуля, а затем сделать свои собственные коммиты на подмодуле, который может включать удаление файлов. – Parham

+0

Я считаю, что ответ на ваш вопрос уже рассмотрен здесь: http://stackoverflow.com/вопросы/3910412/сплит-большой мерзавец-репозитория в-много-меньших-онов. – artyom

ответ

0

Сделайте копию своего хранилища, устраните все, что находится вне будущего субмодуля, используя git filter-branch. Таким образом, вы только комментируете, что произошло в этом подкаталоге, и каталог hiearchy выглядит точно так же, как и в будущем подмодуле.

Затем добавьте этот новый репозиторий в качестве удаленного репозитория вверх и выполните слияние. Гит скажет что-то о том, что нет общего предка, но он должен работать.

После этого удалите подкаталог в своем проекте и поместите подмодуль на свое место (в одном коммите).