我们一直在研究git子模块,我们想知道使用子模块的存储库有什么优势(如果有的话),在另一个存储库中有一个带有.gitignore文件的存储库.
没有子模块的示例:
mkdir a cd a git init touch test1.txt echo "b" > .gitignore git add . git commit -m "Adding test1.txt and gitignore" mkdir b cd b git init touch test2.txt git add . git commit -m "Adding test2.txt" git log cd .. git log
AlBlue.. 16
子代(子模块)的git父级将在提交时跟踪子模块的分支和标记ID.这将确保当您签出父级(在已知版本)时,子模块也将包含其正确的标签.
如果,如上所述,它恰好是一个被忽略的子目录,那么基本上这些是两个独立的git repos,就好像它们不是文件系统层次结构的一部分一样.
子代(子模块)的git父级将在提交时跟踪子模块的分支和标记ID.这将确保当您签出父级(在已知版本)时,子模块也将包含其正确的标签.
如果,如上所述,它恰好是一个被忽略的子目录,那么基本上这些是两个独立的git repos,就好像它们不是文件系统层次结构的一部分一样.