如何在单个git存储库中跟踪略有不同的代码基

如何在单个git存储库中跟踪略有不同的代码基,git,Git,我们为多种语言运行多个Webshop,并希望使用git对其进行版本设置。不同的只是一些细微的差别-一些css行,一个不同的php文件,一个额外的图像。在所有语言中,总共98%是相同的,所以一个单一的存储库就很好了。我们如何才能做到这一点 以下是我的想法: 在CSS中,body标记获得一个类“lang en”或“lang fr”,因此选择器可以是特定于语言的 对于语言文件,.gitignore在目标系统上可以做得很好 对于配置,main和.gitignored文件可以包含该语言 但是第三方ph

我们为多种语言运行多个Webshop,并希望使用git对其进行版本设置。不同的只是一些细微的差别-一些css行,一个不同的php文件,一个额外的图像。在所有语言中,总共98%是相同的,所以一个单一的存储库就很好了。我们如何才能做到这一点

以下是我的想法:

  • 在CSS中,body标记获得一个类“lang en”或“lang fr”,因此选择器可以是特定于语言的
  • 对于语言文件,.gitignore在目标系统上可以做得很好
  • 对于配置,main和.gitignored文件可以包含该语言
但是第三方php代码中的细微变化如何?有没有办法告诉git要签出文件的哪一部分?差不多

aaaaa
---GIT CHECKOUT IF LANG=EN---
bbb
---GIT ENDIF---
ccc
很抱歉命名不正确,但我甚至不知道如何称呼我想要的

问候


编辑:只是一个想法:语言中立的版本作为主存储库,不同之处作为git子模块。这行得通吗?

就我个人而言,我认为你试图使用错误的工具来完成这项工作。VCS用于保存同一产品版本的历史记录,而不是多个类似产品的历史记录。谢谢,dcastro。这些站点过去运行完全相同的代码(系统允许通过数据库进行本地化),但随着时间的推移,差异几乎没有增加。然而,它仍然被认为是相同的代码。因此,您可能是对的,但我们仍然希望有一个简单的解决方案。:)