如何修复git子模块更新--init --recursive不拉CMakeLists.txt?

时间:2019-07-11 01:08:02

标签: git github

我有一个包含多个git子模块的项目。每个子模块和主项目都有CMakeLists.txt。当我git clone主项目时,git拉动主CMakeLists.txt。但是,当我执行git submodule update --init --recursive时,git会拉出所有子模块,但每个子模块中的CMakeLists.txt除外。单独克隆子模块可以正常工作。我该如何解决?

project/
  - CMakeLists.txt
  - src/
    - main.cpp
  - lib/
    - CMakeLists.txt
    - moduleA/
        -CMakeLists.txt
        - fooA.cpp
        - fooA.h
        - barA.cpp
        - barA.h
    - moduleB/
        - CMakeLists.txt
        - fooB.cpp
        - fooB.h

1 个答案:

答案 0 :(得分:1)

虽然重新克隆所有内容都可以,但更新也应该可以。

也许这些文件是在这些子模块的最新版本中引入的:

git submodule update --remote --recursive

这将获取最新的那些子模块(默认为master