Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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中,如何从存储库中提取并获取该存储库中提交的所有子模块变更集';s子模块子回购&x27;s_Git - Fatal编程技术网

在Git中,如何从存储库中提取并获取该存储库中提交的所有子模块变更集';s子模块子回购&x27;s

在Git中,如何从存储库中提取并获取该存储库中提交的所有子模块变更集';s子模块子回购&x27;s,git,Git,我正在尝试使用以下拓扑: parent_repo `-- child_repo 我们正在维护一个我们都从中推拉的中继副本。(我知道星形拓扑结构是不必要的。我意识到,您可以相互提取,而无需通过中央存储库进行反射。) 我在ross\u parent\u repo中,我想从bob\u parent\u repo中获取bob对bob\u parent\u repo中的文件所做的所有编辑,以及他对其子模块bob\u parent\u repo/child\u repo所做的编辑 不幸的是,当我做一个g

我正在尝试使用以下拓扑:

parent_repo
`-- child_repo 
我们正在维护一个我们都从中推拉的中继副本。(我知道星形拓扑结构是不必要的。我意识到,您可以相互提取,而无需通过中央存储库进行反射。)

我在
ross\u parent\u repo
中,我想从
bob\u parent\u repo
中获取bob对
bob\u parent\u repo
中的文件所做的所有编辑,以及他对其子模块
bob\u parent\u repo/child\u repo
所做的编辑

不幸的是,当我做一个git pull时——递归子模块bob\u parent\u repo,它从
bob\u parent\u repo
拉入
ross\u parent\u repo
,但
trunk\u child\u repo
进入
ross\u parent\u repo/child\u repo


有没有可能使用一个简单的命令来提取Bob在
Bob\u parent\u repo
中完成的所有变更集,以及他在所有子模块中完成的所有变更集?我是否需要编写脚本并遍历
.gitmodules
文件中的子模块?

无需打开
.gitmodules
;您可以使用
git子模块foreach

git pull $BOBS_PARENT_REPO
git submodule foreach 'git pull $BOBS_PARENT_REPO/$path/.git'

(不过,这对子模块的任何子模块都不起作用。)

我认为在1.7.5中,您可以使用--recursive执行递归foreach
trunk_parent_repo
`-- child_repo

ross_parent_repo
`-- child_repo

bob_parent_repo
`-- child_repo

joe_parent_repo
`-- child_repo
git pull $BOBS_PARENT_REPO
git submodule foreach 'git pull $BOBS_PARENT_REPO/$path/.git'