我正在编写一个简短的脚本,在页面顶部包含一些简单的变量。我想和一位朋友一起处理它们,但我们不确定如何管理每次为我们中的一个人拉取后需要更改的变量,从而向 git status 添加不必要的垃圾。我想过为我们每个人创建不同的命名分支,然后主服务器将只设置示例用户名,但必须进行所有额外的合并工作似乎很愚蠢。我们可以将变量作为选项传递给脚本,但这不是我们想要的,也不是将其分离到另一个单独的配置文件中。如果有像 .gitignore 这样的东西就好了,但只忽略文件中的几行。
如何优雅地管理这个问题?通常如何处理这个问题?
恐怕您不能轻易忽略对文件特定行的更改,因此您可能不得不使用单独的配置文件。下面我列出了两种典型的处理方法,以及一种稍微奇特的方法:
在 git 中有一个示例配置文件
在这里,您将保存一个文件config.sample
以 git 为例,但应用程序实际上会使用文件中的值config
这是在.gitignore
。然后应用程序将产生错误,除非config
存在。当您向个人添加新的配置变量时,您必须记住更改示例文件中的值config
文件。在这种情况下,让您的应用程序检查所有必需的配置变量是否已实际设置也是一个好主意,以防有人忘记更新他们的配置变量。config
更改示例后的文件。
在 git 中有一个默认值文件
你保留一个文件config.defaults
在 git 中,它具有尽可能合理的默认配置值。您的应用程序首先从以下来源获取配置config.defaults
然后从config
(这是在.gitignore
) 可能会覆盖任何默认值。使用这种方法,通常不会导致以下错误config
不存在,因此该应用程序可以为那些懒得创建的人开箱即用config
.
使用带有 --assume-unchanged 的单个配置文件
第三种可能性,我个人在这种情况下不推荐,是有一个在 git 中提交的配置文件,但要使用git update-index --assume-unchanged <FILE>
,告诉 git 忽略对其的更改。 (这在这篇有用的博客文章 http://www.gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html。)这意味着您对配置文件的本地更改不会被提交git commit -a
或出现在git status
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)