为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Git
慕的地8271018 2019-06-29 11:24:57
提取所有git子模块中最新模块的简单方法我们使用git子模块来管理两个大型项目,这些项目依赖于我们开发的许多其他库。每个库都是一个单独的REPO,作为一个子模块引入到依赖项目中。在开发过程中,我们通常只想获取每个依赖子模块的最新版本。GIT有一个内置的命令来做这件事吗?如果不是,那么Windows批处理文件或类似的文件如何?
查看完整描述

3 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

如果是第一次你需要用一个回购工具来结帐--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)详情


查看完整回答
反对 回复 2019-06-29
?
MMTTMM

TA贡献1869条经验 获得超4个赞

如果需要将子模块的内容拖到子模块存储库中,请使用

git pull --recurse-submodules

Git在1.7.3中第一次学到的特性。

但这将不能检出子模块中的正确提交(主存储库所指向的提交)。

若要签出子模块中的正确提交,应在拉动后更新它们。

git submodule update --recursive --remote


查看完整回答
反对 回复 2019-06-29
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

在init上运行以下命令:

git submodule update --init --recursive

在gitrepo目录中,最适合我。

这将拉出所有最新的包括子模块。

解释

git - the base command to perform any git command
    submodule - Inspects, updates and manages submodules.
        update - Update the registered submodules to match what the superproject
        expects by cloning missing submodules and updating the working tree of the
        submodules. The "updating" can be done in several ways depending on command
        line options and the value of submodule.<name>.update configuration variable.
            --init without the explicit init step if you do not intend to customize
            any submodule locations.
            --recursive is specified, this command will recurse into the registered
            submodules, and update any nested submodules within.

在此之后,您只需运行:

git submodule update --recursive

在gitrepo目录中,最适合我。

这将拉出所有最新的包括子模块。


查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 2273 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信