Git Submodule 允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。这意味着你可以在一个 Git 仓库中嵌套另一个 Git 仓库,从而方便地管理依赖关系。Submodule 指向特定的提交,允许你控制何时更新依赖的仓库。 2. Git Submodule如何追踪commit id? Git Submodule 通过记录一个特定的 commit ID 来追踪依赖仓库的状...
值得注意的是,此时主项目修改的是其依赖的子项目的版本,而非完整变更代码,即引用的子项目的commit id。 2.3.3 子项目远程更新,主项目已更新 commit id 此时在主项目中执行git pull后会自动同步主项目中的子项目commit id依赖,由于主项目已知子项目更新,只需要执行 submodule 更新命令便可将落后的子项目更新到指定...
当我们更新子项目后,相当于是把主项目记录的 submodule 的 commit id 给更新了,需要提交下主项目的变更。 方法三,主项目执行git submodule update [submodule文件夹相对路径] 注意,这个方法会使 submodule 的分支处于主项目里指定的 commit id。可能并不是拉 submodule 的 master 最新代码。 所以,这种方法仅适用于,...
方法一,先 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 --init 和 --remote的区别 git 的submodule 工具方便第三方库的管理,比如gitlab 上的各种开源工具,spdlog等 在项目目录下创建.gitmodule 里可以添加第三方库,然后在更新第三方库时,有两个选项 git submodule update --init 这是更新当前主项目上记录的submodule 的commitid...
git submodule add 192.168.5.153/app/commo src/app-common 当引入submodule以后,submodule依旧是一个独立的项目,该引入路径下所有的pull、push等操作实则都是子仓库独立的git操作,主仓库只记载了相关commit id,并不管理子仓库的代码变动 其他人clone操作:src/common文件夹会被创建,但无内容 需要切换到子仓库路径(...
这个方法会自动拉取submodule的主分支(通常叫master或main)的最新版本。效果跟方法一一致。 如果你不带参数[submodule文件夹相对路径],就会更新所有 submodules。 注意事项,更新后需提交主项目变更。 当我们更新子项目后,相当于是把主项目记录的 submodule 的 commit id 给更新了,需要提交下主项目的变...
1. 使用`cd path/to/submodule`进入子模块的目录,然后可以使用`git branch`命令查看分支。 2. 在父项目的根目录中运行`git submodule foreach ‘git branch’`,可以查看所有submodule的分支情况。 3. 使用`git submodule status`命令可以查看submodule的状态,包括当前使用的commit和分支等信息,但是无法直接看到具体...
git submodule add https://git.oschina.net/gaofeifps/leg.git 这时查看下状态会多两个文件 ➜ body git:(master) ✗ git status On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) ...