Um, o que é gitmodules
Os submódulos permitem que você use um repositório Git como um subdiretório de outro repositório Git. Ele permite que você clone outro repositório em seu próprio projeto, mantendo o envio independente.
Dois, como usar gitmodules
$ git submodule add https://github.com/XXX
Por padrão, o submódulo colocará os subprojetos em um diretório com o mesmo nome do warehouse, ou seja, "XXX". Se quiser colocá-lo em outro lugar, você pode adicionar um caminho diferente no final do comando. Se você executar git status neste momento, notará o novo arquivo .gitmodules. O arquivo de configuração salva o mapeamento entre a URL do projeto e o diretório local que foi obtido.Para a configuração do arquivo .gitmodules, consulte o Capítulo 3.
$ git status
No branch master
Seu branch está atualizado com 'origin / master'.Alterações a serem confirmadas:
(use "git reset HEAD <file> ..." para remover o estágio)novo arquivo: .gitmodules
novo arquivo: XXX
Se você quiser especificar mais o branch, pode adicionar o parâmetro -b. Para obter detalhes, consulte o seguinte:
$ git submodule add
usage: git submodule [--quiet] add [-b <branch>] [-f | --force] [--name <name>] [--reference <repository>] [-] < repositório> [<caminho>]
ou: submódulo git [--quiet] status [--cached] [--recursive] [-] [<caminho> ...]
ou: submódulo git [--quiet] init [ -] [<caminho> ...]
ou: submódulo git [--quiet] deinit [-f | --force] (--all | [-] <caminho> ...)
ou: submódulo git [ --quiet] update [--init] [--remote] [-N | --no-fetch] [-f | --force] [--checkout | --merge | --rebase] [- [ no-] recommend-shallow] [--reference <repository>] [--recursive] [-] [<path> ...]
or: submodule git [--quiet] summary [--cached | --files ] [--summary-limit <n>] [commit] [-] [<caminho> ...]
ou:submódulo git [--quiet] foreach [--recursive] <command>
ou: submódulo git [--quiet] sync [--recursive] [-] [<caminho> ...]
ou: submódulo git [--quiet] absorbgitdirs [-] [<caminho> ...]
Três, configuração de .gitmodules
[submodule "abc"]
path = abc
url = http://github.xxx.xxx/xxxx
branch = release
Documentos de referência:
https://git-scm.com/book/en/v2/Git-Tools-Submodules
https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97