首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >git项目的多个版本

git项目的多个版本
EN

Stack Overflow用户
提问于 2013-08-18 13:16:59
回答 1查看 810关注 0票数 0

我有一个基础网站项目,我使用为几个客户的起点。每个客户都可以对项目进行特定的更改,而我不想将这些更改包含在基本项目中。但是,有时在基本项目中包含特定的客户特性并将其推送到所有其他客户(例如bug修复)中是有意义的。

现在,我已经用TFS设置了项目,这样每个客户都是基础项目的一个分支。它的工作方式是将对基的更改合并到每个分支中,但这是一个非常慢的过程。我想切换到git (在github上),这样我就可以在本地执行这些操作,并减少在这些操作上花费的时间。

在阅读了大量的文章之后,以下是我迄今为止的结论:

  • 在我的场景中,Git分支将不能很好地工作。我需要不同的文件夹为每个项目,所以我可以运行的网站同时。
  • 将基本代码“子模块化”到每个客户回购中似乎不是正确的解决方案,因为基础不是项目中的子文件夹,而是“项目”。
  • Cherrypicking需要将基本的遥控器添加到客户项目中,并且看起来很复杂(到目前为止,我还无法使它工作)

因此,据我所知,我应该为每个新客户创建一个新的回购程序,从最初的基础上复制代码,并为在项目之间移动更改创建补丁(我不关心历史)。我可能会接受这种方法,尤其是如果我能够创建一个自动化过程的工具的话。

请有人告诉我,如果我在正确的轨道上,我应该如何在理想的情况下添加新的网站(考虑到工作流应该为几个开发人员工作)。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2013-08-18 14:04:14

我看不出有什么理由分支机构不能做到这一点。您应该能够在基本分支上进行公共提交,并为每个客户创建一个分支;每当对基本分支进行更新时,它们将合并到不同的客户分支中。就像您当前对TFS所做的一样。

如果要直接从git工作树中服务,需要为每个站点提供一个单独的存储库副本,以便在每个站点中签出不同的分支。但是,您仍然可以将所有的分支都包含在Github上的一个存储库中。

另一种选择是在web服务器处理的区域之外本地使用单个存储库和工作树,然后使用部署过程将要服务的数据复制到适当的位置。由于web服务器不会直接查看git工作树,因此不一定需要同时签出多个分支。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18299501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档