如何使用Git管理项目变更和开发流程?

如何使用Git管理项目变更和开发流程?,git,git-branch,git-tag,variations,Git,Git Branch,Git Tag,Variations,我有一个rails网站,即将出售给不同的客户,每个客户都有小的变化。与此同时,我肯定会开发修复和/或修改项目的“公共”部分。那么,使用Git管理这个开发过程的首选方法是什么呢? 起初我认为“分支”是一种方式。。。但1分钟后,我意识到,在一个分支上提交的任何内容在其他分支上都不可用,这种修复“公共代码”中某些内容的方法将导致对每个分支的多次提交。 最后,我认为“标签”可能会解决这个问题,因为它是一种跟踪单个分支变化的方法。 我想不出其他的选择。也许有人能帮上忙。你应该把代码模块化,这样你就有了一个

我有一个rails网站,即将出售给不同的客户,每个客户都有小的变化。与此同时,我肯定会开发修复和/或修改项目的“公共”部分。那么,使用Git管理这个开发过程的首选方法是什么呢? 起初我认为“分支”是一种方式。。。但1分钟后,我意识到,在一个分支上提交的任何内容在其他分支上都不可用,这种修复“公共代码”中某些内容的方法将导致对每个分支的多次提交。 最后,我认为“标签”可能会解决这个问题,因为它是一种跟踪单个分支变化的方法。
我想不出其他的选择。也许有人能帮上忙。

你应该把代码模块化,这样你就有了一个共同的核心和一系列专业知识。理想情况下,核心将包含大部分代码,专业化程度最低

我建议您:

  • 一个用于公共代码的存储库
  • 每个客户都有一个单独的存储库
或:

  • 一个用于公共代码的存储库
  • 一个专门知识库,每个客户有单独的分支机构

然后,您的部署将需要包含您的通用代码(可能是您的二进制文件)和特定于客户的专业知识(可能是您的配置)。

您应该将代码模块化,以便最终获得一个通用核心和一系列专业知识。理想情况下,核心将包含大部分代码,专业化程度最低

我建议您:

  • 一个用于公共代码的存储库
  • 每个客户都有一个单独的存储库
或:

  • 一个用于公共代码的存储库
  • 一个专门知识库,每个客户有单独的分支机构
然后,您的部署将需要包含您的通用代码(可能是您的二进制文件)和特定于客户的专业化(可能是您的配置)