将多个存储库克隆到公共父文件夹结构

时间:2016-09-15 18:55:55

标签: windows git github

我的问题是我有一个客户,让我们称他们为“邪恶公司”,通过各种项目为我公司提供大量业务,我们使用GitHub回购。让我们拿2并称他们为'TotallyNotPolluting'和' CoveringUpPolluting'。

我希望我的员工能够克隆“TotallyNotPolluting”'回到文件夹' EvilCorp'默认情况下克隆时。

的行为:

所以起始结构是:

E:
--Work
  --Repos
  1. 启动文件夹结构:E:\Work\Repos启动
  2. 在Git Bash / GitHub桌面/任何克隆回购' TotallyNotPolluting' (所选位置是起始文件夹结构E:\Work\Repos
  3. 具有结束文件夹结构:E:\Work\Repos\EvilCorp\TotallyNotPolluting
  4. 在Git Bash / GitHub桌面/任何克隆回购' CoveringUpPolluting' (所选位置是起始文件夹结构E:\Work\Repos
  5. 具有结束文件夹结构:E:\Work\Repos\EvilCorp\CoveringUpPolluting
  6. 所以最终的结构是:

    E:
    --Work
      --Repos
        --EvilCorp
          --TotallyNotPolluting
          --CoveringUpPolluting
    

    这样,所有存储库都被组织到客户端文件夹中,而员工无需采取额外步骤。

    这可能吗?要克隆操作创建然后克隆到(如果一个不存在)或克隆到(如果有)父目录?

    注意:我已经研究过使用Submodules,但我不想要一个存储库" EvilCorp"包含其他存储库。克隆时我只想要文件夹。

2 个答案:

答案 0 :(得分:1)

您可以编写如下脚本。我没有正确测试它,但这应该给你正确的移动方向。此shell脚本的目的是创建父目录,然后单独创建每个子文件夹,检查子文件夹是否为空。如果为空,请克隆仓库。这个shell脚本可以作为可执行文件分发给员工,然后在运行时将repos克隆到正确的位置。

<body>

答案 1 :(得分:0)

有一个只包含子模块的超级项目(如果你真的想要git知道 - 虽然根据我的经验它不能很好地工作)。

相反,有一个超级项目只包含一个&#34;检查所有内容&#34;用户可以运行的脚本,它提供了您想要存在的任何存储库。