git拉多个存储库

git拉多个存储库,git,version-control,Git,Version Control,我有一个问题,需要重新整理相互交织的存储库 我有一个回购协议,我们称之为普通回购协议 common_repo持有与我的大多数其他repo相关的代码,我希望在我拉其他存储库时拉它 我们已经考虑过了,但据我所知,这将在我的机器上创建大量通用回购协议的副本。这是不可取的,因为根据我上次提取从属回购的时间,我的计算机上可能有相同文件的不同版本,这可能会导致混乱 另一种选择是使用一些自定义脚本,如sggested。然而,这不是跨平台的(我们有多个开发人员在不同的操作系统上工作),需要在每台机器上部署,并且

我有一个问题,需要重新整理相互交织的存储库

我有一个回购协议,我们称之为普通回购协议

common_repo持有与我的大多数其他repo相关的代码,我希望在我拉其他存储库时拉它

我们已经考虑过了,但据我所知,这将在我的机器上创建大量通用回购协议的副本。这是不可取的,因为根据我上次提取从属回购的时间,我的计算机上可能有相同文件的不同版本,这可能会导致混乱

另一种选择是使用一些自定义脚本,如sggested。然而,这不是跨平台的(我们有多个开发人员在不同的操作系统上工作),需要在每台机器上部署,并且不能很好地使用git GUI客户端,如smartgit或source tree


有没有我们没有考虑过的更好的解决方案?

如您所述,您可以使用bash命令更新目录中的所有git存储库

find . -maxdepth 3 -name .git -type d | rev | cut -c 6- | rev | xargs -I {} git -C {} pull
学分:

我可以向您提出的另一个选择是探索
合并后的
git钩子,在那里您可以在
git pull
上完成与上述类似的操作。只要系统上有合适的解释器,任何编译或解释的语言都可以在git钩子中使用。
这可能是一个很好的资源:

感谢您的回复。这条思路与我引用的第二条建议相似。但是,我不希望在每台开发人员机器上都设置bash别名,而且如上所述,我更喜欢可以在git GUI客户端中调用的解决方案。您看到我关于git挂钩的建议了吗?你的想法是什么?很抱歉我的疏忽。这听起来很有希望。你建议用钩子吗?如果使用,这是否也适用于我的GUI客户端,因为在dcenes后面,它们使用的是标准git命令?