当前位置:   article > 正文

Git 通过submodule添加子项目/库。

submodule 的方式进行库的引入

Git归并有两种策略:递归,章鱼。

1.递归策略:当分支数只有两个的时候。

2.章鱼策略:当分支数大于两个的时候。

Git会自动选择归并的方法。

3.子树策略:是Git另一种归并方法。(submodule)

    它可以把另一个子项目,嵌入到当前项目。而且会非常聪明的合并这些子项目。(以后就不会有困惑了,在引用其他项目时。)

   

Git使用submodule命令:

  1. #添加子模块:
  2. git submodule add ~/git/libs/lib1.git libs/lib1
  3. #git会在项目下生成.gitmodule
  4. cat .gitmodule
  1. [submodule "libs/lib1"]
  2.         path = libs/lib1
  3.         url = ~/git/libs/lib1.git
  1. #进入libs/lib1目录
  2. cd libs/lib1
  3. #操作新的库lib1,看得出是lib1自己的库remote信息。
  4. git remote -v
  5. #进入项目根目录,初始化submodule,更新submodule(必须在根目录执行命令)
  6. cd ../../
  7. git submodule init
  8. git submodule update

在 libs/lib1/ 目录下添加文档,发现新增加的子模块lib1,在git状态列表中,多了个(untracked content),并不会把lib1库下的所有改动,在git status体现出来。(方便了项目管理子模块)

像操作git一样在子模块管理git工作区。

 注: 

        如果在添加子模块后,不回到最上层主分支.忘记了调用命令:git submodule update,那么你极有可能再次把旧的submodule依赖信息提交上去,当调用命令:git commit -a


参考:

        Git 工具 - 子树合并

        Git Submodule使用完整教程














转载于:https://my.oschina.net/iatbforever/blog/228914

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/617538
推荐阅读
  

闽ICP备14008679号