提取所有git子模块中最新模块的简单方法

提取所有git子模块中最新模块的简单方法

我们使用git子模块来管理两个大型项目,这些项目依赖于我们开发的许多其他库。每个库都是一个单独的REPO,作为一个子模块引入到依赖项目中。在开发过程中,我们通常只想获取每个依赖子模块的最新版本。

GIT有一个内置的命令来做这件事吗?如果不是,那么Windows批处理文件或类似的文件如何?


慕的地8271018
浏览 2224回答 3
3回答

慕村9548890

如果是第一次你需要用一个回购工具来结帐--init第一:git submodule update --init --recursive为GIT 1.8.2或高于选项--remote添加以支持对远程分支的最新提示进行更新:git submodule update --recursive --remote这有一个额外的好处,即尊重.gitmodules或.git/config文件(如果您碰巧有任何文件,缺省值是原产地/母版,在这种情况下,这里的其他一些答案也会起作用)。为GIT 1.7.3或者在上面您可以使用(但下面的问题仍然适用于更新):git submodule update --recursive或:git pull --recurse-submodules如果您想要将您的子模块拉到最新的提交,请将回购所指向的内容进行提交。看见Git-子模(1)详情

MMTTMM

如果需要将子模块的内容拖到子模块存储库中,请使用git pull --recurse-submodulesGit在1.7.3中第一次学到的特性。但这将不能检出子模块中的正确提交(主存储库所指向的提交)。若要签出子模块中的正确提交,应在拉动后更新它们。git submodule update --recursive --remote

慕桂英4014372

在init上运行以下命令:git&nbsp;submodule&nbsp;update&nbsp;--init&nbsp;--recursive在gitrepo目录中,最适合我。这将拉出所有最新的包括子模块。解释git&nbsp;-&nbsp;the&nbsp;base&nbsp;command&nbsp;to&nbsp;perform&nbsp;any&nbsp;git&nbsp;command &nbsp;&nbsp;&nbsp;&nbsp;submodule&nbsp;-&nbsp;Inspects,&nbsp;updates&nbsp;and&nbsp;manages&nbsp;submodules. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update&nbsp;-&nbsp;Update&nbsp;the&nbsp;registered&nbsp;submodules&nbsp;to&nbsp;match&nbsp;what&nbsp;the&nbsp;superproject &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expects&nbsp;by&nbsp;cloning&nbsp;missing&nbsp;submodules&nbsp;and&nbsp;updating&nbsp;the&nbsp;working&nbsp;tree&nbsp;of&nbsp;the &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;submodules.&nbsp;The&nbsp;"updating"&nbsp;can&nbsp;be&nbsp;done&nbsp;in&nbsp;several&nbsp;ways&nbsp;depending&nbsp;on&nbsp;command &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line&nbsp;options&nbsp;and&nbsp;the&nbsp;value&nbsp;of&nbsp;submodule.<name>.update&nbsp;configuration&nbsp;variable. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--init&nbsp;without&nbsp;the&nbsp;explicit&nbsp;init&nbsp;step&nbsp;if&nbsp;you&nbsp;do&nbsp;not&nbsp;intend&nbsp;to&nbsp;customize &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;any&nbsp;submodule&nbsp;locations. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--recursive&nbsp;is&nbsp;specified,&nbsp;this&nbsp;command&nbsp;will&nbsp;recurse&nbsp;into&nbsp;the&nbsp;registered &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;submodules,&nbsp;and&nbsp;update&nbsp;any&nbsp;nested&nbsp;submodules&nbsp;within.在此之后,您只需运行:git&nbsp;submodule&nbsp;update&nbsp;--recursive在gitrepo目录中,最适合我。这将拉出所有最新的包括子模块。
打开App,查看更多内容
随时随地看视频慕课网APP