代码之家  ›  专栏  ›  技术社区  ›  Ben

为什么git子模块操作不是自动的?

  •  1
  • Ben  · 技术社区  · 6 年前

    从设计上看,git的子模块操作似乎是手动的。作为一个相当熟练的git用户,我想了解这个设计决策。尤其是,对于 git pull git checkout 要做的是检查拉取/签出适当的分支/注释,然后更新所有子模块以匹配其相应的提交。为什么?

    如果我设置了

    [submodule]
            recurse = true
    

    在我的 ~/.gitconfig . 但即便如此,当一个同事添加一个新模块时 git pull master ,即使新模块出现在 .gitmodules . 如果我查一下 .gitmodules模块 换个新的然后做 git submodule update --init MODULEPATH ,我明白了。但同样,为什么这种手动交互会是理想的行为呢?当我 pull / checkout ,不是吗(几乎?)总是希望所有模块更新匹配吗?

    奖励:有没有办法自动拥有 git 获取并签出新的子模块?一、 e.子模块是否有Just-Works模式。如果不是,那么对于使默认行为成为可取的子模块的设计,我有什么不理解的呢?

    0 回复  |  直到 6 年前