我有一个基础网站项目,我使用为几个客户的起点。每个客户都可以对项目进行特定的更改,而我不想将这些更改包含在基本项目中。但是,有时在基本项目中包含特定的客户特性并将其推送到所有其他客户(例如bug修复)中是有意义的。
现在,我已经用TFS设置了项目,这样每个客户都是基础项目的一个分支。它的工作方式是将对基的更改合并到每个分支中,但这是一个非常慢的过程。我想切换到git (在github上),这样我就可以在本地执行这些操作,并减少在这些操作上花费的时间。
在阅读了大量的文章之后,以下是我迄今为止的结论:
因此,据我所知,我应该为每个新客户创建一个新的回购程序,从最初的基础上复制代码,并为在项目之间移动更改创建补丁(我不关心历史)。我可能会接受这种方法,尤其是如果我能够创建一个自动化过程的工具的话。
请有人告诉我,如果我在正确的轨道上,我应该如何在理想的情况下添加新的网站(考虑到工作流应该为几个开发人员工作)。
提前感谢
发布于 2013-08-18 06:04:14
我看不出有什么理由分支机构不能做到这一点。您应该能够在基本分支上进行公共提交,并为每个客户创建一个分支;每当对基本分支进行更新时,它们将合并到不同的客户分支中。就像您当前对TFS所做的一样。
如果要直接从git工作树中服务,需要为每个站点提供一个单独的存储库副本,以便在每个站点中签出不同的分支。但是,您仍然可以将所有的分支都包含在Github上的一个存储库中。
另一种选择是在web服务器处理的区域之外本地使用单个存储库和工作树,然后使用部署过程将要服务的数据复制到适当的位置。由于web服务器不会直接查看git工作树,因此不一定需要同时签出多个分支。
https://stackoverflow.com/questions/18299501
复制相似问题