Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在gerrit review下更新依赖于子模块提交的git超级项目?_Git_Gerrit_Git Submodules - Fatal编程技术网

如何在gerrit review下更新依赖于子模块提交的git超级项目?

如何在gerrit review下更新依赖于子模块提交的git超级项目?,git,gerrit,git-submodules,Git,Gerrit,Git Submodules,我们有一个git超级项目,它有一个子模块。子模块正在gerrit审查中 我们的问题是,当在子模块中审查更改时(即使在超级项目上提交了到正在审查的提交的子模块链接),其他开发人员无法通过“git submodule update”检索更改,除非他们在子模块中专门获取refs/changes/* 我明确指出,我们需要其他开发人员能够签出子模块中仍在审查中的代码。因此,等待代码合并不是一个可行的选择 有没有一种方法可以让开发人员通过超级项目上的“git submodule update”在子模块中获得

我们有一个git超级项目,它有一个子模块。子模块正在gerrit审查中

我们的问题是,当在子模块中审查更改时(即使在超级项目上提交了到正在审查的提交的子模块链接),其他开发人员无法通过“git submodule update”检索更改,除非他们在子模块中专门获取refs/changes/*

我明确指出,我们需要其他开发人员能够签出子模块中仍在审查中的代码。因此,等待代码合并不是一个可行的选择

有没有一种方法可以让开发人员通过超级项目上的“git submodule update”在子模块中获得审查中的更改,该超级项目的子模块链接指向审查中的提交

其他开发人员无法通过“git submodule update”检索它们,除非他们在子模块中专门获取
refs/changes/*

然而,这似乎是审查这些承诺的通常方式。
例如,EGit munual部分“”正是这样做的:

这详细说明了过程:

合并gerrit的补丁(请参阅gerrit中的下载部分),它应该是这样的:

由于开发人员希望更新子模块(应该引用特定提交),他/她可以:

  • 从该子模块中创建一个
    dev
    分支,Gerrit更改可以在其中合并
  • 不时更新相同的子模块,并将新的子模块头与
    dev
    分支进行比较,可能会将
    dev
    分支重置为所述新的更新头

我认为这可以通过默认情况下显式获取更改引用来解决:

fetch = +refs/changes/*:refs/remotes/origin/changes/*
或类似的。不过我不确定

git pull --recurse-submodules=yes
我会正确地捡起它

git pull --recurse-submodules=yes