Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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,我想在一个存储库中创建多个存储库。这些将是递归的。我已经有了80-90个存储库的代码。但我需要更改每个存储库的“来源”。 所以,我有两个问题- 如何递归地创建git存储库 (如果.git已经存在,如何更改每个存储库的“来源” 非常感谢您的帮助。如果您想从一个repo管理一组存储库,我建议您可以查看repo工具。Android使用此工具管理构成Android开源平台的100多个存储库。注:这意味着: 您可以独立于包含它们的主repo创建80个repo:它们可以托管在(您的磁盘/GitHub/Gi

我想在一个存储库中创建多个存储库。这些将是递归的。我已经有了80-90个存储库的代码。但我需要更改每个存储库的“来源”。 所以,我有两个问题-

  • 如何递归地创建git存储库

  • (如果.git已经存在,如何更改每个存储库的“来源”


  • 非常感谢您的帮助。

    如果您想从一个repo管理一组存储库,我建议您可以查看
    repo
    工具。Android使用此工具管理构成Android开源平台的100多个存储库。

    注:这意味着:

    • 您可以独立于包含它们的主repo创建80个repo:它们可以托管在(您的磁盘/GitHub/GitLab/…)
    • 您将这些回购声明为子模块,这意味着您在键入以下内容时使用了相应的原始url:

    然后:

    之后无需更改其
    原点

    也就是说,如果您仍然必须更改他们的url,那么,通过以下方式:

    git子模块foreach'git remote set url origin newremote.com:/path/to/git/dir/$path'


    为什么?为什么你想这么做?80个存储库深度?据我所知,你不能在另一个git存储库中设置git存储库。最接近的替代品是。它可能不是80个回购深度。但可能br一个回购可以有10-20个.git回购项目。它是根据项目需求需要,与子模块一起构建的。@keltar你能不能请给我更多关于git子模块的信息?它如何帮助我实现我的意图。@爱取决于你如何在remote上组织存储库。类似于
    git子模块foreach'git remote set url origin newremote.com:/path/to/git/dir/$path'
    谢谢!!我会尝试一下,并检查我的项目的可行性。谢谢你的详细解释ination!!还有一个疑问,如果我真的有80个回购的代码,我需要更改所有回购的来源。那么我应该怎么做?或者同样的方法会对我有帮助吗?请建议。@love,这不会是同样的方法,因为这80个回购不会是子模块。在这种情况下,你必须搜索(简单
    查找
    )对于所有
    .git/
    文件夹,并在那些
    .git/
    目录的父文件夹中执行
    git远程设置url源新url
    cd /path/to/main/repo
    git submodule add /url/to/submodule/repo
    
    git submodule update --recursive --init