zoukankan      html  css  js  c++  java
  • git submodule update --init 和 --remote的区别

    git 的submodule 工具方便第三方库的管理,比如gitlab 上的各种开源工具,spdlog等
    在项目目录下创建.gitmodule 里可以添加第三方库,然后在更新第三方库时,有两个选项
    git submodule update --init 这是更新当前主项目上记录的submodule 的commitid
    比如在提交子项目的时候,会在主项目产生变更,这个变更随着主项目一起的提交,也就是一一对应

    Subproject commit 7d67b54340cebb4ffaa283ebf6975406f8ecda0d  
    Subproject commit 293633445da9133e959377bef8d61021d5cadc83
    

    那么这个update --init 就会更新为主项目对应的版本,但是这种子项目提交的时候并不会修改.gitmodule里面的版本
    这就是与remote的区别

    当使用git submodule update --remote的时候,子项目会根据.gitmodule的版本进行更新

    当然以上是子项目的管理,对于第三方库的管理,那一般就是直接更新.gitmodule里的版本,自己不会动别的开发的东西也不会产生提交

    综上可见,如果clone 了一个含有子项目和第三方库的项目代码时,需要执行 git submodule update --remote 和 git submodule update --init 两个命令,或者调整先后,才能正确编译

  • 相关阅读:
    main函数的实现解析
    srand()和rand()函数的使用
    shell编程总结
    自动创建字符设备,不需mknod
    linux使用i/o内存访问外设
    Flink之state processor api原理
    Flink之state processor api实践
    软件架构被高估,清晰简单的设计被低估
    技术架构的战略和战术
    Flink task之间的数据交换
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11851244.html
Copyright © 2011-2022 走看看