如果发生子模块冲突(即当要合并的两个提交包含引用提交的不同更改时),我怎样才能轻松地将子模块设置为“他们的”提交?如果是文件,我会执行:
git checkout --theirs <file>
但是,这不适用于子模块。在更技术层面上,我拥有的是一个包含submodule
阶段1、2和3的索引:
$ git ls-files -s module
160000 89b085c4269259fa22632353071e6875f158afde 1 submodule
160000 b9ad3bc8aafdf52a2adf74620afae8934474b82d 2 submodule
160000 1afd42893d18ef5edeeadd67e7c65262505e6004 3 submodule
我想要的是在第0阶段拥有“他们的”版本:
$ git ls-files -s module
160000 1afd42893d18ef5edeeadd67e7c65262505e6004 0 submodule
更新:删除了参考http://fiji.sc/wiki/index.php/Git_submodule_tutorial上的错误断言。
更新 2:添加了与索引相关的示例。