Я хотел бы создать новую ветку в своем репозитории, которая включает только файлы из определенного каталога в master и его историю , а затем отправить эту ветку в новый репозиторий.
...или что-то подобное — например, можно отправить каталог в новый репозиторий в новое репо без создания ветки.
На данный момент я думаю, что следующее будет работать, но мне интересно, есть ли более простой способ.
1 - Создать пустую ветку:
git symbolic-ref HEAD refs/heads/
rm .git/index
git clean -fdx
2 - Извлечь каталог из мастера:
git checkout master ...
git add ...
git commit
3 - Переместить ветку на новый удаленный сервер:
git push -u
4 - Затем в новом репо объединить ветку с мастером:
git checkout -t origin/
git checkout master
git merge
git branch -d afterimage
git branch -d -r afterimage
Я пытаюсь сделать что-то эквивалентное Отсоединить подкаталог в отдельный репозиторий Git, но без беспорядка git filter-branch
.