1

我有一个存在两个版本的网站 - 语言版本。它们作为不同的网站在不同的服务器上运行,大部分仅在文本和一些配置图像等方面有所不同,但可以预期它们将来也会在功能上有所不同。

由于到目前为止这两个网站都具有确切的基础功能(但将来可能会有所不同),我希望能够

A)同时对它们两者进行更改。B) 仅对网站的第一个版本进行更改。C) 只对网站的第二个版本进行更改。

现在最好的方法是什么?我选择了 git 分支 - 我有一个 MASTER 分支,然后是分支 A 和分支 B。如果我想对两个网站进行更改,我会在 MASTER 上进行更改,然后将 MASTER 合并到 A 和 B。如果我想做单独的更改在A上,我只在那里做。

到目前为止我的工作流程是否正确?什么是更好的方法?我问这个是因为我做了一些错误的合并并撤销了一些提交,现在项目一团糟。必须有更好的解决方案。

4

1 回答 1

2

你可以:

  • 将所有数据保存在一个分支中,并让包含在 .gitignore 中的特殊配置文件来决定它是哪个站点。
  • 将通用代码保存在“主”存储库中,并将不同的内容保存在其他两个将该存储库作为子模块引用的存储库中。
  • 将所有配置和内容移动到特定于每个部署位置的数据库中。
  • 像现在一样继续工作。

但是,我认为没有理想的选择。我对这种情况有一些个人经验,尽管它与您的不同——我从事编译项目。我们有 iPhone 版本、iPad 版本等,并使用第一种方法。我们将所有代码保存在一个 repo 和一个分支中(好吧,我们使用分支,但用于其他需要)。我们有一个特殊的工具可以改变项目配置目标;但是,所有文件都保存在 repo 中,如果有人更改构建目标并提交所有更改,它会影响我们所有人。但是,由于更改构建大约需要 20 到 40 秒,所以这并不是什么不便。

于 2013-11-06T20:59:53.450 回答