【问题标题】:Ignore changes to a file in Git without removing it from the Repo?忽略对 Git 中文件的更改而不将其从存储库中删除?
【发布时间】:2011-12-15 05:22:47
【问题描述】:

情况是这样的:我们有几个配置文件,当用户克隆存储库时,预计他们会修改这些配置文件。文件本身的结构使其快速、简单和容易 - 但这意味着任何执行“git add *”或“git commit -a”的用户最终都会将它们发送回服务器,并且已经进行了更改!

这不仅会在他下次拉动时破坏下一个人的事情(他每次都需要合并并处理他甚至不需要的文件的冲突),这意味着用户很容易意外破坏我们正在进行持续集成测试。

我想要的是 git ignore 的效果(它不在乎它是否被更改,它不会提交它),但不必完全删除文件。如果我们也能以某种方式强制更改文件,那就太好了。

我知道在 SVN 中有方法可以做到这一点,我认为 Git 必须有一个等价物。

【问题讨论】:

标签: git


【解决方案1】:
git update-index --assume-unchanged <filename>

( 它实际上是为了不同的目的 - 提高 git 操作在不是那么优化的文件系统上的性能,您可以指示 git 假设某些文件没有被触及。您可以使用它来“暂时”忽略跟踪文件)

您还可以查看人们处理配置文件的替代方式,例如拥有一个模板配置文件,用户可以使用模板配置文件创建他们的特定配置文件(后者被忽略)等。

【讨论】:

    【解决方案2】:

    我会做configfile.templateconfigfile 列在.gitignore 中,还有一个 README 或其他有关复制和调整的提示。如果没有现有配置(无论如何你都需要这样的东西,所以......),设置所说的configfile 的目标来做一些明智的事情(内置configfile.template 等效?)。

    【讨论】:

      猜你喜欢
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2015-11-30
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      相关资源
      最近更新 更多