git:忽略*是*版本控制的文件

she*_*iel 17 git

一个.gitignore文件可以忽略从版本控制他们的所有文件.

我们有不同的情况:我们希望在存储库中放置一些配置文件,这些配置文件需要在每台机器上进行更改(例如,数据库访问信息).

我们确实希望将它们作为占位符进行分发,因此我们将它们包含在存储库中.但是,稍后我们希望对所有开发人员忽略对它们的任何更改.

有办法吗?

注意:

问题的Git:忽略版本控制文件实际上是一样的.但是,没有一个答案回答了这个问题,包括接受的问题.

编辑:

  • 有没有办法 - 对模式而不是单个文件保持不变?
  • 有没有办法将此命令传播到其他开发人员的存储库?

Adr*_*scu 47

我在我的.gitconfig文件中定义了以下别名:

[alias]
  ignore = update-index --assume-unchanged
  unignore = update-index --no-assume-unchanged
Run Code Online (Sandbox Code Playgroud)

这应该完全符合你的要求:运行git ignore some-file会将文件视为不变,无论你做什么,直到你运行git unignore some-file.


alt*_*ive 3

我知道这种方法可以避免这个问题,但我会为每个文件创建一个“.defaults”文件,然后更改它。无论如何,这有助于配置能量 - 如果拥有自定义配置的人想要更改默认值怎么办?

不要忽略 .defaults,忽略实际的东西。也许有一个脚本可以将 .defaults 复制到常规的(如果它们尚不存在)。