Обратите внимание, что (.|\n)*
может быть менее эффективным, чем (например) [\s\S]*
(если регулярные выражения вашего языка поддерживают такие escape-последовательности), а не поиск того, как указать модификатор, который делает. также соответствуют новостям. Или вы можете пойти с альтернативами POSIXy, такими как [[:space:][:^space:]]*
.
Вы также можете использовать 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
Возможно, если вы объявили ваш подмодуль веткой, чтобы следовать
git submodule add -b <branch> <repository> [<path>].
. Там, в каждом из ваших проектов, простой git submodule update --remote
будет обновить содержимое подмодуля до последнего HEAD
из <repository>/<branch>
.