Git - 忽略对存储库中已有文件的更改

Git - Ignoring changes to a file that is already in the repository

我有一个问题几乎 identical to this one。唯一的区别是我不确定 Mercurial 是什么,我只是在使用 Git。在我的存储库中有一个空的 .htpasswd 文件,该文件在远程存储库中应保持为空,但应在本地提供用户名和密码值。

我的 .gitignore 包含以下行:

.htpasswd

所以理论上它应该忽略我的文件,对吧?但这不是我的情况。当我更改此文件中的任何内容时,我的 Git 仍会将此文件识别为已更改,并将其添加到未暂存更改列表中。 我想防止这种情况发生。我怎样才能做到这一点?

编辑:我认为链接问题中的解决方案是最后的手段。由于我不确定 Mercurial 与 Git 有多相似(或不相似),我想知道是否有更好的解决方案可用于 Git.

Git 不提供忽略对跟踪文件的更改的方法。 documentation 特别推荐其他问题的答案已经提供的解决方案。人们使用一些技术来尝试欺骗 Git,但同一文档段落解释了为什么这些方法不起作用以及为什么正确的解决方案是使用单独的文件。