方法一,先 clone 父项目,再初始化 submodule,最后更新 submodule。 初始化只需要做一次,之后每次只需要直接 update 即可,需要注意 submodule 默认是不在任何分支上的,它指向父项目存储的 submodule commit id。 git clone project.git project2 cd project2 git submodule init git submodule update 方法二,采用递归...
Git对于Submodule有特殊的处理方式,在一个主项目中引入了Submodule其实Git做了3件事情: 记录引用的仓库 记录主项目中Submodules的目录位置 记录引用Submodule的commit id 在project1中push之后其实就是更新了引用的commit id,然后project1-b在clone的时候获取到了submodule的commit id,然后当执行git submodule update的时候...
git submodule update则是从子仓库中抓取所有的数据找到父级仓库对应的那次子仓库的提交id并且检出到父项目的目录中。 git submodule init Submodule'lib'(/path/to/repos/lib.git) registeredforpath'lib'git submodule updatedone. Submodule path'lib': checked out'40f8536319ede421cfd9ca9f9904b5106946e8ec' ...
git submodule update --init --recursive // 初始/更新 ``` #!/bin/bash # 定义 git2addmodule 函数 git2addmodule() { local submodule_url=$1 local folder_name=$2 # 如果没有提供文件夹名称,解析仓库名称作为文件夹名称 if [[ -z "$folder_name" ]]; then folder_name=$(basename "$submodule...
git submodule add tools git submodule add https://github.com/zhoulujun/zhoulujun.cn-tools-vue.git tools-vue 添加子模块后运行git status, 可以看到目录有增加1个文件.gitmodules, 这个文件用来保存子模块的信息。 $ git status On branch master ...
git submodule是git系统中非常实用的一个功能,对于可复用模块非常有用。 通常情况下,只使用git clone是无法下载到子模块的信息,可以尝试使用git clone --recursive 或者执行git clone后再执行git submodule update --init 还可以执行git clone后再执行git submodule init和git submodule update ...
我们演示一下git submodule的使用方法: 为了方便后续对两种子仓库的原理进行讲解,我们会详细的描述git的相关操作步骤 开始使用子模块 使用git init--bare在本地创建两个裸仓库,分别表示主仓库和依赖的子仓库,我们将主仓库命名为main,依赖的子仓库命名为lib,git subtree使用同样的初始化方法,下文不再赘述。
git submodule update –remote “` 4. 移除Submodule 如果我们不再需要某个Submodule,可以使用下列命令将其移除: “` git submodule deinitgit rm“` 其中,``为Submodule在主仓库中的路径。 以上就是几个常用的gitsubmodule命令的详细讲解。要正确使用git submodule命令,我们需要理解Submodule的概念和工作原理,以便合理...