Git 子模块管理

一、添加

git submodule add <url> <path>
  • url 表示仓库地址
  • path 指的是当前仓库的子文件夹

eg:你有一个仓库地址的路径是: /User/abc/Ducoments/Project/A,然后使用添加指令

git submodule add git:xxxxx/abc.git /submodules

那么最终就会在/User/abc/Ducoments/Project/A/abc内把仓库下拉回来

二、下拉仓库代码

在项目的跟目录运行

git submodule update --init --recursive

三、子模块更新

子模块的维护者提交了更新后,使用子模块的项目必须手动更新才能包含最新的提交。

在项目中,进入到子模块目录下,执行 git pull更新,查看git log查看相应提交。

完成后返回到项目目录,可以看到子模块有待提交的更新,使用git add,提交即可。

四、删除子模块

有时子模块的项目维护地址发生了变化,或者需要替换子模块,就需要删除原有的子模块。

删除子模块较复杂,步骤如下:

rm -rf :子模块目录 删除子模块目录及源码

vi .gitmodules :删除项目目录下.gitmodules文件中子模块相关条目

vi .git/config :删除配置项中子模块相关条目

rm .git/module/* :删除模块下的子模块目录,每个子模块对应一个目录,注意只删除对应的子模块目录即可

git rm --cached : 清除缓存,在后面跟上子模块名称

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git 子模块管理代码和错误的解决 关于git submodule,网上有的是说明,这里不多说,说一说遇到的错误....
    孙掌门阅读 2,559评论 0 0
  • 做为一名程序员,大家对 ** Git ** 肯定都不陌生,最近项目中用到了 Git 子模块,今天,给大家讲一下 *...
    rangel阅读 2,133评论 5 6
  • 使用前提 经常碰到这种情况:当你在一个Git 项目上工作时,你需要在其中使用另外一个Git 项目。也许它是一个第三...
    Maonx阅读 177,683评论 8 98
  • 场景 当前git项目依赖另一个git项目。你想将两个项目单独处理但是又需要在其中一个中使用另外一个。 子模块变更 ...
    草珊瑚_6557阅读 790评论 0 0
  • 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。 也许是第三方库,或者你独立开发的,用于多个父项...
    浅夏晴空阅读 492评论 0 1