文档章节

git submodule

小昭归来
 小昭归来
发布于 2017/01/12 02:18
字数 460
阅读 39
收藏 1

其实用git的时间还是挺久的,但竟然不晓得git的子模块,瞬间有种”问今乃何世,不只有汉,无论魏晋“的赶脚,羞的老脸发红。

应用场景

  • 剥离代码公共部分。

工作中,每个人或公司在长时间的coding中都形成常用的代码工具库,将这些公共部分剥离出来,做单点维护。

  • 间接的实现目录权限的管理。

git没有更细的权限管理功能,如果希望对某些文件夹实现权限管理,从而在团队合作中,只需要关注或维护自己关注的文件夹就ok了。

如何使用

子模块使用起来比较简单,他即可以看做一个子模块,也可以看做一个完整的git工程,原来的git命令在子模块下照常使用。

添加子模块

进入到主目录执行

git submodule add 地址

查看执行后的状态,会发现主目录下多了一个.gitmodules文件和一个git工程

git status

提交子模块(和普通提交修改一样)

git commit -m xxx

通常作为公共部分最重要的是获取更新,有两种方式

  • 首先在主目录下直接获取所有子模块
git submodule foreach git pull

-在主目录下更新子模块

git pull
git submodule update
  • 在子模块下获取更新(就是一个普通的git工程)
git pull

首次clone带有子模块的工程,也有两种方式

  • 使用--recursive递归参数,一哈子都clone下来了
git clone 地址 --recursive
  • 分部获取,现获取主目录,在初始化子模块(推荐,条理清楚)
git clone 地址
git submodule init
git submodule update

删除子模块(把模块的两个文件删了就得了)

© 著作权归作者所有

小昭归来
粉丝 9
博文 44
码字总数 20186
作品 0
成都
程序员
私信 提问

暂无文章

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
53分钟前
2
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部