我在一个名为allinone
的远程服务器中只有一个git repo,但实际上我有几个项目,比如proj1
,proj2
,proj3
,我将所有这些项目存储到allinone
,如下所示:
allinone
|- .git
|- proj1/
|- proj2/
|- proj3/
以下是事情的进展(如果可能的话):
allinone
git repo proj1
git repos,做了一些开发,提交和完成。proj1
repo中创建了allinone
分支,并在<{1}}的{{1}}分支中'导入' proj1
使用所有提交日志。有可能吗?或者有什么建议吗?我不想买另一个回购。
答案 0 :(得分:1)
Git本身并不要求存储库中的分支之间存在任何关系。因此,您可以创建所需数量的本地存储库,并将所有这些存储库推送到单个远程存储库。如果您仔细设置每个本地存储库使用的refspecs,它甚至可能看起来非常像每个本地存储库都有单独的远程控制器。
但是,您使用的任何提供商都可能检查该类型的使用,特别是如果他们按存储库收费。
如果您找到为每个项目设置单独的远程存储库的方法,则遇到问题的可能性要小得多。 git wiki有一个list of hosting sites,其中一些允许免费托管私有存储库。
答案 1 :(得分:0)
这是糟糕的架构。你通过这种方式管理你的回购自杀。
我发现每个项目都有一个以上的回购协议是没有正当理由的。
我只能想象必须要经常合并所有这些回购以保持更新。
在我看来,您应该为每个“项目”创建一个单独的分支,这将更容易让您维护历史记录,工作流程并减少合并。但是,即使这样也会有缺陷,因为无论你做什么,你都必须为项目中的合并冲突留下大量机会。如果我是你,我会做任何我可能做的事情来削减你的“allinone”仓库,并且当你从事与某个“项目”有关的工作时,通过检查功能分支来管理它。
祝你好运!