博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git submodule 操作
阅读量:3574 次
发布时间:2019-05-20

本文共 712 字,大约阅读时间需要 2 分钟。

Git 使用submodule 管理外链库

git clone 下载了库之后,首先 git submodule init 再 git submodule update这样就可以把下载的库的外链拿到依赖的内容,submodule 是固定conle 的commit,默认是head 执行执行```git submodule add```或对于新clone下来宿主项目执行 ```git submodule update```后,得到的submodule是处于头指针脱离状态, 在其目录中执行git branch可以看到当前没有指向任何分支。去.git/modules/xxx中查看HEAD文件,其内容为commit id而不是通常的ref。

可以在本地子模块中进行checkout改变分支指向,比如git checkout master使得子模块工作区改为master分支,并且可以在其中修改文件并提交和push。如果子模块工作区的提示改变了,宿主工作区可以看到子模块的提提交id改变了。


如果在宿主机执行了git add 和 git commit,就是修改了子模块的提交id ,并且可以进行git push 操作,但是别的机子进行pull 和 submodule update 操做后子模块还是指向固定的提交id(最新提交的一个)而不是master。因此,git的子模块就是指向固定的提交id,这个id可以改变。

分支和submodule: submodule是属于分支的,不同的分支可以设定submodule不同的提交id, check out到新分支需要执行git submodule update来更新submodule

转载地址:http://vjxgj.baihongyu.com/

你可能感兴趣的文章
cv2.error: OpenCV(3.4.2) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:25
查看>>
前端网页学习7(css背景属性)
查看>>
前端网页学习8(css三大特性:层叠性,继承性,优先级)
查看>>
前端网页学习9(css盒子)
查看>>
python学习8(列表)
查看>>
JavaScript学习(new1)
查看>>
http GET 和 POST 请求的优缺点、区别以及误区
查看>>
JVM的4种垃圾回收算法、垃圾回收机制
查看>>
什么是分布式事务
查看>>
常用的分布式事务解决方案
查看>>
设计模式:单例模式 (关于饿汉式和懒汉式)
查看>>
一致性Hash算法
查看>>
更新Navicat Premium 后打开数据库出现1146 - Table 'performance_schema.session_variables' doesn't exist
查看>>
安装rabbitmq时踩的坑
查看>>
2021-06-09数据库添加多条数据
查看>>
简单的JAVA小作品
查看>>
CMake下载
查看>>
未调用fflush产生的图片文件无法打开问题
查看>>
SQL 约束(二)
查看>>
SQL ALTER用法(三)
查看>>