如何让Git同时跟踪解决方案中的主项目与依赖独立仓库的库项目?
用Git子模块管理独立仓库的库项目
要让Git同时跟踪主解决方案和独立仓库的库项目,最适合的方案是使用Git子模块——它能实现独立仓库的库项目与主项目关联,拉取主项目时可一并获取库代码,具体操作步骤如下:
清理现有无效引用(如果主仓库已错误添加库文件夹)
如果主项目目录下已经存在库项目的文件夹但未通过子模块管理,先取消Git对它的跟踪(不会删除本地文件):git rm --cached 库项目文件夹名称添加子模块
在主项目的根目录执行以下命令,将独立的库仓库作为子模块添加进来:git submodule add <库项目的Git仓库地址> 库项目在主项目中的存放路径示例:
git submodule add https://git.example.com/xxx/lib-project.git ./Dependencies/LibProject执行后,主仓库会生成一个
.gitmodules文件,记录子模块的关联信息。提交子模块配置
将.gitmodules文件和子模块的引用提交到主仓库:git add .gitmodules 库项目文件夹名称 git commit -m "添加LibProject作为子模块" git push其他开发者拉取项目时获取子模块
布局设计师拉取主项目后,需要执行以下命令初始化并拉取子模块代码:git submodule init git submodule update或者直接用递归克隆命令,一次性拉取主项目和所有子模块:
git clone --recurse-submodules <主项目Git仓库地址>后续子模块版本更新
如果库项目有更新,进入主项目里的库项目文件夹执行git pull拉取最新代码,回到主项目后提交子模块的新版本引用即可;若要批量更新所有子模块,可执行:git submodule update --remote
内容的提问来源于stack exchange,提问作者Winteriscoming
相关产品推荐
相关产品推荐

