我正在几个网站上工作,除了图像和 CSS 或设置的一些变化外,两个网站都需要几乎相同的代码。
我刚刚读完《Pro Git》一书的分支章节,我有点困惑,如果分支不是解决这个问题的最佳方法,那么分叉呢?
我的意思是,我们有代码实例 A 和 B,A 和 B 之间的区别在于 css 颜色、url、api 密钥等方面,但大部分代码是相同的,所以我可以用什么方式来处理这个问题,我需要 A 中的一些代码,然后“修补”它以获得 B,但我不确定如何进行不覆盖图像的合并……
无论如何,如果是一个分支或一个分叉,我该如何合并 A 中的新功能而不丢失 B 中的更改?
答案1
我认为分支或分叉都无法为您解决问题。我认为您需要从完全不同的角度来处理这个问题。
站点之间共享的代码实际上是一个代码库,因此应该位于一个公共库文件夹中。在 LAMP 环境中,该文件夹将是 /usr/share/php/。然后,各个站点会形成自己的项目,其中包含用于 CSS、JS、图像等的文件夹,以及一些使用库代码的文件。如果做得聪明,您可能只需要一个 index.php 文件(和一些重写规则)。
现在这听起来可能是一项艰巨的任务,但我很确定在 git 中分支或分叉不是解决这个问题的方法。