我想在我的 git 存储库中保留两个版本的静态html 文件。两者基本相同,除了脚本、媒体等的链接(开发版与实时版)。
现在我将开发版本保存在 repo 中,并在实时机器上手动覆盖实时版本值(=我在那里有本地 git 更改)。我对这个设置不满意,因为每次推/拉都有人工劳动。
管理无法拆分为 config/rest 部分(如 HTML)的文件的最佳流程是什么?
你可以...
.git/hooks/post-merge
(此挂钩运行,例如,之后git pull
)。static.master.html
以分支或主机名或其他一些变量(例如vs.static.develop.html
等)命名文件,并动态确定在运行时使用哪一个。这些是一些想法。我想其他人会提供额外的建议。
重命名之外的另一个问题是保持两个文件的内容同步。因此,出于同样的原因,仅在一个次要路径上有所不同的专用文件是很多冗余的,如果您更改一个,您还必须考虑更新另一个。
好的,你说 HTML 文件是静态的,但是这里一行 PHP 生成差异将解决我们的问题 Achim
由larsks扩展第二个要点:
您可以在 repo 中保留两份副本(假设它是您的主页)index.dev.html 和 index.prod.html。在远程,您的合并后脚本可以执行以下操作:
cp -a index.prod.html index.html
或者
truncate -s 0 index.html
cat index.prod.html >> index.html