类似于.gitignore但不是git ignore

8
我想忽略一个包含数据库密码等信息的文件。我问了一位设置git的朋友是否可以使用.gitignore,他说“不行,因为仓库中已经有一个包含虚假数据的文件,你应该使用另一个函数,我不记得它叫什么,去谷歌一下吧!”
我尝试了谷歌搜索,但根据提供的信息,这很棘手,有人知道他所说的函数是什么吗?
4个回答

13
如果您将文件添加到.git/info/exclude中,则该文件将被忽略,而此排除文件仅适用于您的存储库,并且不会对其他人可用。

9
你应该使用一个git属性过滤器,详见此处。这样做有以下好处:
  • 在检出步骤中,一个“smudge”脚本可以将文件内容替换为你想要的内容,并保存其原始内容(假设该文件的内容足够特定,以便被检测为正确的内容,因为过滤器驱动程序是关于文件内容的,而不是关于特定文件路径名的)。
  • 和/或在提交步骤中,一个“clean”脚本可以将同一文件恢复到其原始内容(再次假设修改后的内容足够特定,以便被检测并替换)。

2

链接很好,但请始终在答案本身中提供相关的片段,而不仅仅是放一个链接。 - Ujjwal Singh

1
如果您想忽略已经被跟踪的文件,请使用以下命令:
git update-index --assume-unchanged <filePath>

嗨 @framontb这种方法可能会让团队成员感到困惑,他们可能没有意识到该文件被排除在提交之外。因此,将其添加到文档中非常重要。要通过运行 git update-index --no-assume-unchanged <file_path> 撤消“assume-unchanged”标志。 - Rene Rubio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接