git子项目
本文记录了如何在一个主项目中使用子项目进行开发。
参考链接
添加子模块
首先可以通过使用git submodule add
命令加想要跟踪的项目的相对或绝对url的方式将子项目添加为当前仓库的子模块:
git submodule add https://github.com/vim/vim
以上命令将会添加一个名为vim的库。
默认情况下,子模块会将子项目放到一个与仓库同名的目录中。如果想放到其他地方,可以再命令结尾添加一个不同的目录。
克隆有子模块的项目
1. 使用 git clone
命令克隆工作项目,默认会包含该子模块目录,但是目录中还没有任何文件。
然后运行两个命令:
git submodule init
用来初始化本地配置文件,git submodule update
则从该项目中抓取所有数据并检出父项目中列出的合适的提交。
上诉命令默认会对所有子仓库生效。执行完后,子目录处在和上一次提交时相同的状态。这两条命令可以简化成一步:git submodule update --init
。
2. 使用 git clone --recurse-submodules
命令克隆工作项目,会自动初始化并更新仓库中的每一个子模块,包括可能存在的嵌套子模块。
克隆完成后,本地便有一份包含子模块的项目副本。