我们有3个Web服务器在我们的开发中处于不同的阶段:
Development Testing Production
这是更一般的中继/分支/标签模式的镜像存储库。 我已经开发了一个post-commit钩子来自动将提交提交到我们的存储库服务器上的发布文件夹,然后rsync与远程开发服务器webroot的文件夹。
testing和生产这个问题的目的可以被认为是做同样的事情。
要进一步稍微复杂的事情,每个项目有3个文件夹可能有材料在:
coderoot www wwws
我目前的存储库布局是
dev (trunk) -coderoot -www -wwws testing (branch) -coderoot -www -wwws production (tag) -coderoot -www -wwws
每个项目存储库都有这个布局。 是否有可能将9个子文件夹中的每一个都作为单独的分支进行版本控制? 这个方法对于任何一个有颠覆经验的人来说都合理吗(使用TortoiseSVN作为客户端)?
我是新来的,所以我开放的想法。 我希望每个子文件夹都有自己的版本控制时间轴,但是我知道,如果没有9个文件夹中的每一个文件夹,这可能是不可能的,这会使浏览Tortoise中的结构变得不那么方便。
我对这个问题的主观性表示歉意,但我不知道还有什么可以得到明智的观点的。
那么你绝对正确的,主题是主观的,但最好不要做你以前想的事情。 分支的devise和使用主要是考虑到许多不同的开发人员可以在不同的项目部分工作,但是当代码合并在接近上线或分级等时完成时,需要再次完全同步备份。当应用程序正准备被释放。 根据我的经验,你上面提出的build议将使它成为一个噩梦跟踪每个文件夹的变化,因为他们将是独特的分支与他们自己的提交,修订和日志等。使他们回购“每个还会使事情进一步复杂化。 标签,分支和树干的想法来自树的解剖结构,每个分支可以用于独特的目的,并支持较小的鸟类(初级开发者)可以嵌套在较小的分支上,而鹰可以栖息在较高的更重要的分支上有经验的开发人员)在一棵树的上面的树冠。 没有分支与树分离,都需要能够被重新跟踪并且代码合并回到主干。
标签是版本的快照,最好是最新的主干。 你的设置是不好的做法。 自从我上一次为一家大型软件公司工作了一段时间以来,我工作过的最后一家赌博机构的所有仓库都是这样设置的。
1 Reps = 1个项目。 n个分支= n个开发者。 n个标签数量= n从分支机构或中继线上发布的数量。
标签可以从开发者签入的小版本创build,并希望尽快在testing区域进行testing。 当代码已准备好在应用程序即将完成时在临时或testing环境中进行testing时,标签也是从中继线创build的。
我的知识是有限的,但从我以前的雇主看来,这是做事的最好方式。 请理解,我不是在向你说话,这个post的语气并不是为了描绘前者或后者。 我只是想把自己的头脑放在我以前做的事情上。