Вы также можете использовать git subtree
(альтернативный способ для git submodule
добавить отдельную ветвь).
, вы просто нужно использовать команду ниже, чтобы добавить ветвь субмодуля репо в папку основного репо:
git subtree add --prefix=<folder name> <URL for the submodule repo> <branch name>
master
в ветвь master
проектаA, вы можете используйте команды ниже: # In local project A repo
git checkout master
git subtree add --prefix=master <URL for the submodule repo> master
git push origin master
B-1
к ветви B-1
в projectB, вы можете использовать следующие команды: # In local project B repo
git checkout B-1
git subtree add --prefix=B-1 <URL for the submodule repo> B-1
git push origin B-1
Если ветвь подмодуля обновляется с новыми изменениями, вы можете обновить поддерево, существующее в основных репозиториях, на:
git subtree pull --prefix=<folder name> <URL for the submodule repo> <branch name>
B-1
обновляется с новыми изменениями, вы можете обновить папку B-1
в проектеB соответственно, как показано ниже: # In local project B repo
git checkout B-1
git subtree pull --prefix=B-1 <URL for the submodule repo> B-1
git push origin B-1
Если вы хотите направить изменения в репозиторий субмодуля непосредственно из основного поддерева репозиториев, вы можете использовать команду:
git subtree push --prefix=<folder name> <URL for the submodule repo> <branch name>
A-1
(папка A-1
) в репозиторий субмодуля, вы можете использовать следующие команды: # In local project A repo
git checkout A-1
# Make the commit changes in the folder A-1
git subtree push --prefix=A-1 <URL for the submodule repo> A-1
git push origin A-1