git submodule 执行无效

您所在的位置:网站首页 美国科幻悬疑剧推荐 git submodule 执行无效

git submodule 执行无效

#git submodule 执行无效| 来源: 网络整理| 查看: 265

背景

面对比较复杂的项目,我们有可能会将代码根据功能拆解成不同的子模块。主项目对子模块有依赖关系,却又并不关心子模块的内部开发流程细节。

这种情况下,通常不会把所有源码都放在同一个 Git 仓库中。

有一种比较简单的方式,是在当前工作目录下,将子模块文件夹加入到 .gitignore 文件内容中,这样主项目就能够无视子项目的存在。这样做有一个弊端就是,使用主项目的人需要有一个先验知识:需要在当前目录下放置一份某版本的子模块代码。

还有另外一种方式可供借鉴,可以使用 Git 的 submodule 功能,也是这篇文章的主题。

实际上 Git 工具的 submodule 功能就是建立了当前项目与子模块之间的依赖关系:子模块路径、子模块的远程仓库、子模块的版本号。

使用流程

假定我们有两个项目:project-main 和 project-sub-1,其中 project-main 表示主项目,而 project-sub-1 表示子模块项目。

其中 project-main 的远程仓库地址为 https://github.com/username/project-main.git,而 project-sub-1 的远程仓库地址为 https://github.com/username/project-sub-1.git。

接下来,我们希望在 project-main 中添加 project-sub-1 ,而又保持 project-sub-1 自身独立的版本控制。

1.创建 submodule

使用 git submodule add 命令可以在项目中创建一个子模块。

进入项目 project-main ,输入:

➜ project-main git:(master) git submodule add https:// github.com/username/pro ject-sub-1.git 正克隆到 '/path/to/project-main/project-sub-1'... remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 展开对象中: 100% (3/3), 完成.

此时项目仓库中会多出两个文件:.gitmodules 和 project-sub-1 。

前者的内容是这样的,事实上就是子模块的相关信息;而后者那个文件,实际上保存的是子模块当前版本的版本号信息。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3