Submodule

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

我的梦境 提交于 2019-12-09 13:16:53
Git归并有两种策略:递归,章鱼。 1.递归策略:当分支数只有两个的时候。 2.章鱼策略:当分支数大于两个的时候。 Git会自动选择归并的方法。 3.子树策略:是Git另一种归并方法。(submodule) 它可以把另一个子项目,嵌入到当前项目。而且会非常聪明的合并这些子项目。(以后就不会有困惑了,在引用其他项目时。) Git使用submodule命令: #添加子模块: git submodule add ~/git/libs/lib1.git libs/lib1 #git会在项目下生成.gitmodule cat .gitmodule [submodule "libs/lib1"] path = libs/lib1 url = ~/git/libs/lib1.git #进入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

git的submodule功能详解

扶醉桌前 提交于 2019-12-07 17:32:12
git 的 submodule 功能详解 1. 前言 项目的版本库在某些情况下需要引用其他版本库中的文件,例如有一套公用的代码库, 可以 被多个项目调用,这个公用代码库能直接放在某个项目的代码中,而是要独立为一个代码库,那么其他要调用公用的代码库该如何处理?分别把公用的代码库拷贝到各自的项目中会造成冗余,丢弃了公共代码库的维护历史,这些显示不是好的办法,现在要了解的git子模组 ( git submodule ) 就解决了这个问题。 Git 子模块 功能 允许你将一个 Git 仓库当作另外一个 Git 仓库的子目录。这允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立。 2. 准备工作 首先需要两个版本库例如: 1) 一个公共的版本库 ( 例如: libA.git) git@gitlab.szreach.com:fengyang/liba.git 2) 一个引用公共版本库的主版本库 ( 例如: super.git) git@gitlab.szreach.com:fengyang/super.git 3. TortoiseGit上 git submodule 功能实现 1. 添加子模组的步骤 第一步:使用 submodule add... 添加子模组 在需要作 添加子模组 的Git 版本库 中右击,选择“TortoiseGit-> Submodule Add... ” ,在“