如何将克隆的git项目添加到另一个父git项目作为子模块?

时间:2017-11-29 19:24:08

标签: git github

问题不是很复杂。

要开发我自己的项目myproject,我会克隆几个第三方项目libxxxlibyyylibzzz

    myproject/
    ├── .git/
    ├── libxxx/
    │   ├── .git/
    │   └── ....
    ├── libyyy/
    │   ├── .git/
    │   └── ....
    ├── libyyy/
    │   ├── .git/
    │   └── ....
    ├── ...

我使用git clone命令下载这三个库存储库。克隆这三个项目后,我还commit了一些代码。但是,我只是注意到myproject repo没有跟踪这三个子目录。这三个项目中的一个已更新为新版本。因此,在这种情况下,是否可以使用git命令将自动解析这三个库作为子模块,并保持版本与克隆它们时的版本相同。

我认为最直接的方式是:如何自动和递归地将克隆的git repo作为子模块添加到父repo?

1 个答案:

答案 0 :(得分:0)

从主仓库中删除克隆的仓库,然后将其作为子模块添加回来。

rm -rf libxxx

然后:

git submodule add https://github.com/user/libxxx

重复所有库。

添加并提交您的更改。

现在,如果开发人员更新您的子模块,您可以使用以下命令将其更新到他们的提示:

git submodule update --recursive --remote