因此,如果你只在子模块中修改并提交了代码,而没有到主工程上面再把子模块的 commit id 提交一下,其他人拉取工程代码的时候会发现子模块的代码依然停留在老的 commit id 所指向的状态。对于嵌套子模块,这种工作尤为繁琐,提交代码后要逐层往上提交 commit id ,否则其他人无法正确更新代码。 其次,如前面所说,使用...
使用git status可以看到多了两个需要提交的文件,其中.gitmodules指定submodule的主要信息,包括子模块的路径和地址信息,moduleA指定了子模块的commit id,使用git diff可以看到这两项的内容。这里需要指出父项目的git并不会记录submodule的文件变动,它是按照co...
6. 更新父仓库的子模块:在父仓库中更新子模块的提交ID。 – 切换回父仓库:使用以下命令切换回父仓库的根目录: “` cd .. “` – 提交子模块变更:使用以下命令来提交子模块的变更: “` git add git commit -m “Updated submodule” “` 这样,就完成了更新提交子模块的操作。通过这个过程,父仓库可以保持...
git commit -m “Update submodule branch”“`以上命令将会添加更新的子模块的改动并提交到父项目中。 需要注意的是,如果子模块是一个远程仓库的引用,更新分支前需要先确保子模块和远程仓库保持同步,可以使用以下命令更新子模块:“`git submodule sync“`然后再执行步骤4和步骤5。 总结:要更新Git子模块分支,首先...
其次,依赖每个子模块的父工程及分支各不相同。当一个子模块的某个分支有更新时,你需要为父工程中为所有依赖该子模块那个分支的全部分支都提交一遍新的 commit id 。 最后,每一个子模块也都需要安装一个这样的 post-receive 钩子,且子模块经常需要新增,依赖关系也经常变动,维护成本高。
git commit -m'update submodule' git push 更新Submodule更新的方法有两种:在父项目的目录下运行 git submodule foreach git pull在Submodule的目录下面更新 cd pod-library git pull注意更新Submodule的时候如果有新的commit id产生,需要在父项目产生一个新的提交,pod-libray文件中的 Subproject commit会变为最新的...
修改子模块之后只对子模块的版本库产生影响,对父项目的版本库不会产生任何影响,如果父项目需要用到最新的子模块代码,我们需要更新父项目中submodule commit id,默认的我们使用git status就可以看到父项目中submodule commit id已经改变了,我们只需要再次提交就可以了。
git commit -m"feat: 子仓库创建util.js"git push 初始化结束两个子仓库后,我们想让main主仓库能够使用lib仓库的代码进行后续的开发,使用git submodule add的命令后面加上想要跟踪项目URL来添加新的子模块(本文中的lib仓库)。 # 首先进入到main的工作目录下cdmain# 添加lib模块到main仓库下的lib同名目录git submo...
首先,主工程并不直接跟踪子模块的代码,而仅仅只跟踪子模块的 commit id 的改动。在执行 git submodule update 更新子模块代码时,Git 就是根据主工程所维护的 commit id 来更新子模块到指定状态的。 bash-3.2$ git diff react_native diff --git a/react_native b/react_native ...
有了这两个文件,post-receive 钩子也就可以写得通用化:先获取该子模块的仓库名,然后根据这个文件找到在 working repository 下对应的目录,然后用 fmanager 切到依赖该子模块该分支的主工程。更新该子模块的 working tree ,最后 cd 到上级目录提交该子模块的 commit id 。