我的问题是我有一个客户,我们称他们为'Evil Corp',通过各种项目为我的公司提供很多业务,我们使用GitHub回购。让我们取2并称它们为“完全不打印”和“覆盖打印”。将多个存储库克隆到共同的父文件夹结构中
我希望我的员工在克隆时默认将'TotallyNotPolluting'回购克隆到'EvilCorp'文件夹中。
行为:
所以初始结构是:
E:
--Work
--Repos
- 在启动文件夹结构:
E:\Work\Repos
开始 - 在Git中的Bash/GitHub的桌面/不管克隆回购 'TotallyNotPolluting' (选定的位置是起始文件夹结构
E:\Work\Repos
) - 已结束文件夹结构:
E:\Work\Repos\EvilCorp\TotallyNotPolluting
- 在Git中的Bash/GitHub的桌面/不管克隆回购 'CoveringUpPolluting'(选定的位置是起始文件夹结构
E:\Work\Repos
) - 有结尾的文件夹结构:
E:\Work\Repos\EvilCorp\CoveringUpPolluting
所以最后结构是:
E:
--Work
--Repos
--EvilCorp
--TotallyNotPolluting
--CoveringUpPolluting
这样,所有的回购都会组织到客户文件夹中,而员工不会采取额外的步骤来执行此操作。
这可能吗?要创建克隆操作,然后克隆到(如果不存在)或克隆到(如果有)父目录?
注意:我已经看过使用子模块,但我不想要包含其他存储库的存储库“EvilCorp”。克隆时我只想要这个文件夹。
我可能误解了你的问题,但如果你创建一个顶级回购“邪恶公司”,并创建子文件夹到它,然后添加项目到单个文件夹,那么人们将不得不永远克隆“邪恶公司”回购他们最终会得到所有其他的子项目。但是,不建议将多个不相关的项目保存在一个回购单中。如果我了解错误,请纠正。 – prabodhprakash
@prabodhprakash我在问题的底部添加了** NOTE **,其中包含其他回购的回购'EvilCorp'不是我想要的。我只想创建一个文件夹,然后*克隆进入,或者如果文件夹已经存在直接克隆到它。 – Daevin
你可以写一个脚本来为你做。一个简单的shell脚本,转到父文件夹并检查单个文件夹(如果存在),检查该文件夹中的回购 - 如果没有任何内容,请克隆回购。如果子文件夹不存在,如果首先创建子文件夹,然后克隆回购。因此,您可以在github上拥有多个不同的回购站和一个在客户端管理它们的可执行shell脚本。 – prabodhprakash