Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
Git 用'--深度';选项_Git_Git Submodules - Fatal编程技术网

Git 用'--深度';选项

Git 用'--深度';选项,git,git-submodules,Git,Git Submodules,git子模块更新支持本节所述的--depth选项 但我们仍然无法轻松确定深度值,这可能会使git无法找到子模块的预期版本 是否有一个真正的解决方案来浅层更新子模块 因此,我认为确切的深度仍然是一个神话,这是唯一必须解决的问题 虽然确实没有“精确深度”,但您仍然可以使用git 2.9.x+(2016年第三季度)记录“深度建议” 参见(2016年5月26日)作者 (于2016年6月20日被合并) 子模块更新:了解-[no-]推荐浅层选项 上游项目可以建议进行浅层克隆 它附带的.gitmodules文

git子模块更新
支持本节所述的
--depth
选项

但我们仍然无法轻松确定深度值,这可能会使git无法找到子模块的预期版本

是否有一个真正的解决方案来浅层更新子模块

因此,我认为确切的深度仍然是一个神话,这是唯一必须解决的问题

虽然确实没有“精确深度”,但您仍然可以使用git 2.9.x+(2016年第三季度)记录“深度建议”

参见(2016年5月26日)作者 (于2016年6月20日被合并)

子模块更新
:了解
-[no-]推荐浅层
选项 上游项目可以建议进行浅层克隆 它附带的
.gitmodules
文件中的一些子模块

有时,子模块的历史记录并不重要 上游项目。
为了方便下游用户,允许在
.gitmodules
中使用布尔字段“
submodule..shall
”,该字段可用于建议上游用户是否认为历史记录重要

默认情况下,此字段在初始克隆中使用,可以 通过提供
--no-recommendant
选项忽略

这样,一个简单的
git子模块更新
(无其他参数)将使用建议的深度值(如果找到)

另请参见带有以下内容的“”:

或:

git子模块foreach'git config-f.gitmodules子模块。$sm_path.true'

它不应该阻止git获取正确的深度。但如果是,则与中的注释相同:(对于git 1.9.x+)您是否尝试在其中使用git fetch--update shall(通过自定义命令/update maybe:)。我将首先测试
git子模块更新--depth
首先:它应该能够更新到正确的深度,具体取决于记录的SHA1。从git 2.0.0开始,
--深度必须后跟一个值。因此,我认为确切的深度仍然是一个神话,这是唯一必须解决的问题。感谢@VonCquick 1-liner为所有子模块
git子模块| awk'{print$2}'| xargs-n1-I%%bash-c'git config-f.gitmodules子模块添加shallow=true。%%.shallow true'
@g19fantaic谢谢。这确实会派上用场。我已将您的评论包含在答案中,以提高可视性。@G19Fantaic,但我相信使用更安全,不需要依赖awk和其他解析技巧。可能是对的。从未真正使用过foreach,但awk/XARG在我的实用腰带中。为了完整起见,
git子模块foreach'git config-f.gitmodules子模块。$sm_path.shallow true'
@g19狂热者,但正如他们所说:''。
git config -f .gitmodules submodule.<name>.shallow true