文档章节

Git 通过submodule添加子项目/库。

Surjur
 Surjur
发布于 2015/12/15 11:12
字数 399
阅读 204
收藏 1

Git归并有两种策略:递归,章鱼。

1.递归策略:当分支数只有两个的时候。

2.章鱼策略:当分支数大于两个的时候。

Git会自动选择归并的方法。

3.子树策略:是Git另一种归并方法。(submodule)

    它可以把另一个子项目,嵌入到当前项目。而且会非常聪明的合并这些子项目。(以后就不会有困惑了,在引用其他项目时。)

   

Git使用submodule命令:

?
1
2
3
4
#添加子模块:
git submodule add ~/git/libs/lib1.git libs/lib1
#git会在项目下生成.gitmodule
cat .gitmodule
?
1
2
3
[submodule "libs/lib1"]
        path = libs/lib1
        url = ~/git/libs/lib1.git
?
1
2
3
4
5
6
7
8
#进入libs/lib1目录
cd libs/lib1
#操作新的库lib1,看得出是lib1自己的库remote信息。
git remote -v
#进入项目根目录,初始化submodule,更新submodule(必须在根目录执行命令)
cd ../../
git submodule init
git submodule update

在 libs/lib1/ 目录下添加文档,发现新增加的子模块lib1,在git状态列表中,多了个(untracked content),并不会把lib1库下的所有改动,在git status体现出来。(方便了项目管理子模块)

像操作git一样在子模块管理git工作区。

 注: 

        如果在添加子模块后,不回到最上层主分支.忘记了调用命令:git submodule update,那么你极有可能再次把旧的submodule依赖信息提交上去,当调用命令:git commit -a


参考:

        Git 工具 - 子树合并

        Git Submodule使用完整教程

本文转载自:http://my.oschina.net/iatbforever/blog/228914

上一篇: PHP中的traits
下一篇: deepin安装php7
Surjur
粉丝 26
博文 194
码字总数 13150
作品 0
杭州
程序员
私信 提问

暂无文章

【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
6
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
4
0
【Medium 万赞好文】ViewModel 和 LIveData:模式 + 反模式

原文作者: Jose Alcérreca 原文地址: ViewModels and LiveData: Patterns + AntiPatterns 译者:秉心说 View 和 ViewModel 分配责任 理想情况下,ViewModel 应该对 Android 世界一无所知。...

秉心说
昨天
9
0
重学计算机组成原理(十二) - 异常和中断

1 概览 完好的程序都满足以下特征 自动运行 我们的程序和指令都是一条条顺序执行,不需要通过键盘或者网络给这个程序任何输入 正常运行 没有遇到计算溢出之类的程序错误。 不过,现实的软件世...

JavaEdge
昨天
8
0
程序设计基础(C)第06讲例程

1summing.c /* summing.c -- 根据用户键入的整数求和 */#include <stdio.h>int main(void){ long num; long sum = 0L; /* 把sum 初始化为0 */ int status; p......

树人大学数字媒体吴凡
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部