1. 理解 git submodule foreach git pull 命令的用途 git submodule foreach git pull 命令用于递归地遍历 Git 仓库中的所有子模块,并在每个子模块中执行 git pull 操作,以更新子模块到其远程仓库的最新状态。这个命令非常有用,特别是在大型项目中,当你有多个依赖的子模块需要同时更新时。 2. 说明该命令对子模块执行
方法二,主项目执行git submodule update --remote [submodule文件夹相对路径] 这个方法会自动拉取submodule的主分支(通常叫master或main)的最新版本。效果跟方法一一致。 如果你不带参数[submodule文件夹相对路径],就会更新所有 submodules。 注意事项,更新后需提交主项目变更。 当我们更新子项目后,相当于是把主项目记...
递归更新整个项目submodule:git submodule foreach git pull 删除子模块:git rm --cached subModulesA rm -rf subModulesA --recursive表示递归地克隆git_parent依赖的所有子版本库。 git subtree(子树合并) 上面介绍的git submodule是Git自带的原生功能,我们接下来将要介绍的git subtree则是由第三方开发者贡献的contr...
主项目执行 git submodule update 也不会更新,此时需要从主项目主动进入子项目执行 git pull 主动拉取新版代码,然后提交,更新子项目的commit id。如果要在主项目开发子模块,建议将子项目切到master分支进行提交。当主项目 clone 后,也可以使用 foreach 命令批量切换到 master 分支进行更新。 若一个项目中有多个子模...
gitsubmoduleupdate 更新子模块 gitsubmoduleforeach git pull 拉取所有子模块 如何使用 1. 创建带子模块的版本库 例如我们要创建如下结构的项目 project |--moduleA|--readme.txt 创建project版本库,并提交readme.txt文件 git init --bareproject.git
git submodule foreach 'git pull' 删除 submodule 按照当前的例子,从 project-main 中删除 project-sub-1,应该使用: git submodule deinit project-sub-1 git rm project-sub-1 若由于本地的子模块有未提交的改动,则需要使用 --force 参数。 执行git submodule deinit project-sub-1 命令的实际效果,是自动在...
git submodule add <repository> <path> //添加子模块 git submodule init //初始化子模块 git submodule update //更新子模块 git submodule foreach git pull //拉取所有子模块 1. 2. 3. 4. 5. 2.1创建带子模块的版本库 例如我们要创建如下结构的项目 ...
git pull origin master 子模块目录下的代码版本会发生变化,转到情况2的流程进行主项目的提交。 当主项目的子项目特别多时,可能会不太方便,此时可以使用 git submodule 的一个命令 foreach 执行: git submodule foreach 'git pull origin master' > 情况汇总 终上所述,可知在不同场景下子模块的更新方式如下:...
难道还是像project1中那样进入子模块的目录然后git checkout master,接着git pull? 而且现在仅仅才两个子模块、两个项目,如果在真实的项目中使用的话可能几个到几十个不等,再加上N个submodule,自己算一下要怎么更新多少个submodules? 例如笔者现在做的一个项目有5个web模块,每个web模块引用公共的css、js、images...
1.git pull之后,立即执行git status, 如果发现submodule有修改,立即执行git submodule update 2.尽量不要使用 git commit -a, git add命令存在的意义就是让你对加入暂存区的文件做二次确认,而 git commit -a相当于跳过了这个确认过程。 更复杂一些,如果你的submodule又依赖了submodule,那么很可能你需要在git pull...