git - 忽略对 Git 中文件的更改而不将其从 Repo 中删除?

标签 git

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

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

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

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

最佳答案

git update-index --assume-unchanged <filename>

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

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

关于git - 忽略对 Git 中文件的更改而不将其从 Repo 中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894541/

相关文章:

git推送到远程: commits are going through but can't see files?

git - 如何管理两个链接的 GitHub 存储库

git - 在 GIthub 上推送到 git 以重新触发错过的 'push' webhook

git - 无法从我的本地 ubuntu 机器推送到 aws ec2

git - 我如何通过 git 历史或 "how it got in the current branch"查看提交路径?

Git:创建一个跟踪远程master的远程分支

git - Gerrit change-merged Hook

git - 颠覆 Git : Clone creating branches?

git - 如何使用 Git 引用特定存储库?

linux - GIT:git checkout --ours 仍然显示 "both modified"