• 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 两个命令,或者调整先后,才能正确编译

  • 相关阅读:
    Cryptography I 学习笔记 --- 使用分组密码
    Cryptography I 学习笔记 --- 分组密码
    jQuery动画之自定义动画
    jQuery事件之一次性事件
    jQuery事件之自定义事件
    jQuery事件之解绑事件
    jQuery事件之绑定事件
    jQuery动画之停止动画
    JQuery动画之淡入淡出动画
    jQuery属性操作之值操作
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11851244.html
Copyright © 2020-2023  润新知