Git
Поддеревья
Поиск…
Синтаксис
-
git subtree add -P <prefix> <commit>
-
git subtree add -P <prefix> <repository> <ref>
-
git subtree pull -P <prefix> <repository> <ref>
-
git subtree push -P <prefix> <repository> <ref>
-
git subtree merge -P <prefix> <commit>
-
git subtree split -P <prefix> [OPTIONS] [<commit>]
замечания
Это альтернатива использованию submodule
Создание, вытягивание и подтип Backport
Создать субтитры
Добавьте новый удаленный plugin
указывающий на репозиторий плагина:
git remote add plugin https://path.to/remotes/plugin.git
Затем создайте поддерево, определяющее новые plugins/demo
префикса папки. plugin
- это удаленное имя, а master
ссылается на главную ветку в репозитории поддерева:
git subtree add --prefix=plugins/demo plugin master
Обновления субтитров
Вытяните обычные фиксации, сделанные в плагине:
git subtree pull --prefix=plugins/demo plugin master
Обновления подкаталогов Backport
Укажите фиксации, сделанные в суперпроекте для резервного копирования:
git commit -am "new changes to be backported"
Оформить новую ветку для слияния, установить для отслеживания репозитория поддерева:
git checkout -b backport plugin/master
Вишневый выбор:
git cherry-pick -x --strategy=subtree master
Направьте изменения обратно на источник плагина:
git push plugin backport:master
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow