git submodule update --remote 这个命令会从子模块的远程仓库拉取最新的 commit,并更新子模块到该 commit。 提交主仓库的更改: 更新子模块后,主仓库会记录子模块的新 commit ID。你需要将这一更改提交到主仓库: bash git add . git commit -m "Update submodule to latest commit" git push origin master ...
自己手动删除就好了。 git checkout 切换到指定 commit: git chekcout <commit> 1. HEAD 是一个指针,通常情况下,它指向当前所在分支,而分支又指向一个 commit 提交。HEAD 并不总指向一个分支,某些时候仅指向某个 commit 提交,这就形成 detached HEAD。 切换到 detached HEAD 状态时,会有一个警告。 提示我们可...
记录引用Submodule的commit id 在project1中push之后其实就是更新了引用的commit id,然后project1-b在clone的时候获取到了submodule的commit id,然后当执行git submodule update的时候git就根据gitlink获取submodule的commit id,最后获取submodule的文件,所以clone之后不在任何分支上;但是master分支的commit id和HEAD保持一致。
2,子模块submodule update方式更新,需要加–remote和–merge,其中–remote表示将子模块远程仓库的更新合并到本地(否则还是主模块里记录的最后commit的那个submodule版本,而不一定是子模块远程最新版本),–merge表示将更新合并到本地子模块(也可以–rebase)。如果有多个子模块,全部都会更新。 3,子模块也是一个独立的git...
文艺程序员,使用Git Submodule功能,执行:git submodule update,然后冲一杯咖啡悠哉的享受着。 引用一段《Git权威指南》的话: 项目的版本库在某些情况虾需要引用其他版本库中的文件,例如公司积累了一套常用的函数库,被多个项目调用,显然这个函数库的代码不能直接放到某个项目的代码中,而是要独立为一个代码库,那么其...
方法一,先 clone 父项目,再初始化 submodule,最后更新 submodule。 初始化只需要做一次,之后每次只需要直接 update 即可,需要注意 submodule 默认是不在任何分支上的,它指向父项目存储的 submodule commit id。 git clone project.git project2 cd project2 git submodule init git submodule update 方法二,采用递归...
git Submodule 是一个很好的多项目使用共同类库的工具,他允许类库项目做为repository,子项目做为一个单独的git项目存在父项目中,子项目可以有自己的独立的commit,push,pull。而父项目以Submodule的形式包含子项目,父项目可以指定子项目header,父项目中会的提交信息包含Submodule的信息,再clone父项目的时候可以把Submodule...
这还是说明在main-project中保存的submodule中只是sub-project当时的一个版本,最新的版本内容并不会根据sub-project的同步而同步。 主项目可以使用 git submodule update 更新子模块的代码,但那是指 当前主项目文件夹下的子模块目录内容与当前主项目记录的子模块版本不一致时,会参考后者进行更新,而我们在sub-project独立...
同时我们看到,红框处是在主模块里提交子模块是的commit信息(record submodule change) 增删submodule 我们知道,submodule是记录在主项目根目录下的.gitmodule文件里的,直接修改该文件么,肯定是不行的,实测真的不行,还是要按官方标准方式来。 以TVM项目为例,其3rdparty里有大量的开源依赖库,github.com/apache/tvm 当...
new file: .gitmodules new file: submodule_subdir 可见在添加子模块后,主项目下需要将子项目信息提交一次,提交后,在主项目仓库中,会显示出子模块文件夹,并附带其所在仓库的版本号,如:submodule_subdir @ abcd1234。 git add -u git commit -m "add submodule" ...