我的问题是我有一个客户,让我们称他们为“邪恶公司”,通过各种项目为我公司提供大量业务,我们使用GitHub回购。让我们拿2并称他们为'TotallyNotPolluting'和' CoveringUpPolluting'。
我希望我的员工能够克隆“TotallyNotPolluting”'回到文件夹' EvilCorp'默认情况下克隆时。
所以起始结构是:
E:
--Work
--Repos
E:\Work\Repos
启动E:\Work\Repos
)E:\Work\Repos\EvilCorp\TotallyNotPolluting
E:\Work\Repos
)E:\Work\Repos\EvilCorp\CoveringUpPolluting
所以最终的结构是:
E:
--Work
--Repos
--EvilCorp
--TotallyNotPolluting
--CoveringUpPolluting
这样,所有存储库都被组织到客户端文件夹中,而员工无需采取额外步骤。
这可能吗?要克隆操作创建然后克隆到(如果一个不存在)或克隆到(如果有)父目录?
注意:我已经研究过使用Submodules,但我不想要一个存储库" EvilCorp"包含其他存储库。克隆时我只想要文件夹。
答案 0 :(得分:1)
您可以编写如下脚本。我没有正确测试它,但这应该给你正确的移动方向。此shell脚本的目的是创建父目录,然后单独创建每个子文件夹,检查子文件夹是否为空。如果为空,请克隆仓库。这个shell脚本可以作为可执行文件分发给员工,然后在运行时将repos克隆到正确的位置。
<body>
答案 1 :(得分:0)
有一个只包含子模块的超级项目(如果你真的想要git知道 - 虽然根据我的经验它不能很好地工作)。
相反,有一个超级项目只包含一个&#34;检查所有内容&#34;用户可以运行的脚本,它提供了您想要存在的任何存储库。