管理Forked将保持接近原始项目

时间:2017-03-04 07:31:04

标签: git project-management

我写了一个wordpress主题。我最初是为一个网站写的。

现在我将它部署到几个不同的网站(大约五个)。每个站点都将修改代码以满足其特定需求。我预计这些分歧相对较小,但足够重要,五个分叉将是不同的项目。

将来,这五个网站中的每一个都可能拥有不同的管理员。现在,我正在管理它们。

尝试概括每个站点的所有需求并继续在一个统一的代码库中工作是没有意义的。这真的很麻烦。

然而,我经常做家务"更改原始代码,这些更改能够推送到下游,而不必每次都手动将其编辑到每个五个叉中,这将是很好的。同样,如果他们可以将bug修复上游推送给我,也会很好。

这是我正在考虑尝试的解决方案。我确定我不是第一个遇到这个问题的人,而且我不想不必要地重新发明轮子:

  1. 为每个想要使用主题git-read访问权限的站点提供主代码库。
  2. 然后,每个站点都可以克隆我的存储库,创建自己的分支,并在其分支中执行他们喜欢的任何更改。
  3. 如果他们想从上游获取更新,他们可以执行git pull并将其分支重新绑定到main。这可能需要手动合并,并且随着代码库的进一步分离变得更加困难,但假设它们编码的差异不是很大,这将是一个相对无痛的过程。
  4. 如果他们想建议对主代码库进行错误修复 - ??
  5. 这是一个很好的解决方案吗?我可能会遇到什么问题?有没有更好的解决方案(我假设)常见问题?

1 个答案:

答案 0 :(得分:1)

  

这可能需要手动合并,并且随着代码库的进一步分离而变得更加困难,但假设它们编码的差异并不严重

这可能是此解决方案的主要痛点。

我要做的是:

  • 使我的提交足够小,以确定它是否是特定于本地站点的提交,或者需要返回主代码库的提交。
  • 专门用于需要回馈的提交的本地分支。

因此,一旦我完成了一系列提交(一些特定于本地站点,一些针对公共站点),我会选择公共站点的那些提交到该专用分支。
我会重新定义,然后将该专用分支合并到主代码库分支。

这样,使用代码库的分支只包含与所述主代码库相关的提交。

相关问题