У меня есть стороннее репо, над которым я хочу работать subtree
. В частности, мой вариант использования:
- Я хочу работать только с одним каталогом в репозитории третьей стороны; и
- Я хочу иметь возможность пушить / вытягивать свои изменения в родительском репо обратно в этот репо.
Для этого я создал форк стороннего репо и использую subtree split
для доступа к каталогу:
git remote add -f source_repo https://github.com/user/source.git
git checkout -b staging-branch source_repo/my_fork
git subtree split -P target_directory -b staging-merge --squash
git checkout master
git subtree add -P my/new/directory staging-merge
git branch -D staging-merge staging-branch
Это успешно помещает копию каталога поддерева в my/new/directory
.
Однако, когда я git subtree pull --prefix=my/new/directory source_repo my_fork
, это вытягивает каталог root репо, поэтому я возвращаюсь к исходной точке.