当我们更新子项目后,相当于是把主项目记录的 submodule 的 commit id 给更新了,需要提交下主项目的变更。 方法三,主项目执行git submodule update [submodule文件夹相对路径] 注意,这个方法会使 submodule 的分支处于主项目里指定的 commit id。可能并不是拉 submodule 的 master 最新代码。 所以,这种方法仅适用于,...
git submodule update --remote 这个命令会从子模块的远程仓库拉取最新的 commit,并更新子模块到该 commit。 提交主仓库的更改: 更新子模块后,主仓库会记录子模块的新 commit ID。你需要将这一更改提交到主仓库: bash git add . git commit -m "Update submodule to latest commit" git push origin master ...
随后,运行git add . (注意点)以更新引用仓库的编号信息 最后,运行git commit和git push以更新云端的子模块版本号 命令如下 git pull git submodule update --init --recursive git submodule update --remote --merge git diff git add . git commit -m "update submodule"...
git submodule update--remote{submoduleName}# 可以通过以下命令设置特定的分支 git config-f.gitmodules submodule.{submoduleName}.branch{branchName} 无论哪种方式更新,都会在主项目生成子模块更新的commit信息,可见主项目只需要记录子模块的commit信息即可。当主项目push后,其远程仓库里的子模块也锁定为最新的。
git commit -am "Remove submodule" 解决的问题:有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目。也许是第三方库,或者你独立开发的,用于多个父项目的库。现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个。
此时可以发现,这里的commit id和git上最新提交的commitid不一样,这里的commit id还是之前某一次的提交id。 这个其实要说明的是,git submodule update获取代码的时候是和子工程的git路径和这里的commit id有关联的,获取的就是对应的git路径下截止这个commit id的所有代码,之后的代码是不会获取到的。
git commit提交即完成子模块的添加 子模块的使用 克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载: git submodule init git submodule update 或: git submodule update --init --recursive 执行后,子模块目录下就有了源码,再执行相应的makefile即可。
git commit提交即完成子模块的添加 子模块的使用 克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 git submodule init git submodule update 或: 代码语言:javascript ...
此时在主项目中执行git pull后会自动同步主项目中的子项目commit id依赖,由于主项目已知子项目更新,只需要执行 submodule 更新命令便可将落后的子项目更新到指定的版本。 代码语言:txt AI代码解释 $ git submodule update 2.3.4 子项目远程更新,主项目未更新 commit id ...
git rm --cached <path_to_submodule> 提交更改: git commit -m "Remove submodule" 5. 常见问题 子模块未初始化:确保在克隆仓库后运行git submodule update --init --recursive。 子模块版本不对:检查子模块目录中的.git文件,确保指向正确的 commit。