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

时间:2011-02-16 00:57:53

标签: git

.gitignore文件允许忽略控制它们的版本中的文件。

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

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

有办法吗?

注意:

问题Git: Ignoring Version-Controlled Files实际上是一样的。但是,没有一个答案回答了这个问题,包括接受的答案。

编辑:

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

2 个答案:

答案 0 :(得分:47)

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

[alias]
  ignore = update-index --assume-unchanged
  unignore = update-index --no-assume-unchanged

这应该完全符合您的要求:在您运行git ignore some-file之前,运行git unignore some-file会将文件视为未更改,直到您运行{{1}}。

答案 1 :(得分:3)

我知道这种问题可以解决这个问题,但我会为每个人提供一个“.defaults”文件,然后更改它。这有助于配置能量 - 如果有自定义配置的人想要更改默认设置,该怎么办?

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