将特定文件的不同内容保留在 Git 分支中

2024-03-26

我有一个config.php不同分支的内容应该不同,例如testing and master.

我在另一个问题里问过(防止将 master 中的文件与 Git 合并 https://stackoverflow.com/questions/10779235/prevent-merging-a-file-from-master-with-git)如何防止该文件合并。

但我想知道,这是正确的方法吗?

我相信这是一个非常常见的用例,在不同的环境中有不同的配置文件,并且您希望配置保持跟踪,对吧?


对于配置文件,一种解决方案是不对其进行版本控制(这样就不会出现合并问题!)

你会使用一个内容过滤器驱动程序 https://stackoverflow.com/questions/2316677/can-git-automatically-switch-between-spaces-and-tabs/2316728#2316728:

你会版本:

  • 单值文件(对于master环境)
  • 单值文件(对于dev环境)
  • 一个模板文件(带有占位符变量,例如@PORT_NUMBER@)
  • one 'smudge' 能够根据当前分支编写脚本,并且基于签出文件的内容 https://stackoverflow.com/questions/2059326/git-equivalent-of-subversions-url-keyword-expansion/2059393#2059393(这里是模板文件)来生成实际的配置文件(仍然是“私有的”,即没有版本控制)。
  • one 'clean' 脚本能够检测私有配置文件中的任何值更改,并将这些更改的值存储回(版本控制的)值文件中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将特定文件的不同内容保留在 Git 分支中 的相关文章

随机推荐