递归Git推/拉?

我有一个包含其他git存储库的git存储库。 是否存在递归推送和/或拉取不仅是元存储库而且还有子存储库的命令?


如果你正在谈论子模块,请参阅纸杯蛋糕答案。

如果您正在讨论包含git repos的某个文件夹层次结构,那么您可以结算clustergit ,这是我编程的一个工具:https://github.com/mnagel/clustergit


每当我想要更新我的llvm / clang版本库时,我都会遇到同样的情况,并且可以使用一些bash帮助我可以像下面这样将它们'git pull':

$> for dir in $(find . -name ".git"); do cd ${dir%/*}; git pull ; cd -; done

这将'git pull'在你当前目录下找到的所有git repos,并且如果它们是裸存储库,可能不会工作。


不完全是git pull ,但接近:

git fetch --recurse-submodules

从Git文档:

--recurse-submodules[=yes|on-demand|no]

此选项控制是否以及在什么条件下也应提取填充的子模块的新提交。 当设置为no时,它可以用作布尔选项来完全禁用递归,或者当设置为yes时无条件递归到所有已填充的子模块中,这是默认情况下使用此选项时没有任何值。 如果超级项目检索提交,该提交将子模块的引用更新为不在本地子模块克隆中的提交,则按需使用即可递归到已填充的子模块中。

链接地址: http://www.djcxy.com/p/92377.html

上一篇: Recursive Git push/pull?

下一篇: git submodule tracking latest