问题不是很复杂。
要开发我自己的项目myproject
,我会克隆几个第三方项目libxxx
,libyyy
和libzzz
。
myproject/
├── .git/
├── libxxx/
│ ├── .git/
│ └── ....
├── libyyy/
│ ├── .git/
│ └── ....
├── libyyy/
│ ├── .git/
│ └── ....
├── ...
我使用git clone
命令下载这三个库存储库。克隆这三个项目后,我还commit
了一些代码。但是,我只是注意到myproject
repo没有跟踪这三个子目录。这三个项目中的一个已更新为新版本。因此,在这种情况下,是否可以使用git
命令将自动解析这三个库作为子模块,并保持版本与克隆它们时的版本相同。
我认为最直接的方式是:如何自动和递归地将克隆的git repo作为子模块添加到父repo?
答案 0 :(得分:0)
从主仓库中删除克隆的仓库,然后将其作为子模块添加回来。
rm -rf libxxx
然后:
git submodule add https://github.com/user/libxxx
重复所有库。
添加并提交您的更改。
现在,如果开发人员更新您的子模块,您可以使用以下命令将其更新到他们的提示:
git submodule update --recursive --remote