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

  • 相关阅读:
    Nginx 高级配置
    nginx安装和优化配置
    location语法介绍
    iptables
    通过 loganalyzer 展示数据库中的系统日志
    ubuntu_server16.04详细安装步骤
    内存控制mmap的原型和使用方法
    C语言中open函数read函数lseek函数是如何使用的
    gdb调试工具的基本使用
    C语言如何制作静态库
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11851244.html
Copyright © 2011-2022 走看看