从暂存区中移除 .gitignore 文件

3
我在git中只有一个问题,就是.gitignore文件试图添加到代码库中,但我不想它被添加进去,如何忽略这个文件呢?我永远都不想在任何地方看到.gitignore。我尝试过忽略它,但是我只能放弃或者删除它,这绝不是我想要做的。

enter image description here

2个回答

5

如果要维护一个不包含在版本库中的文件忽略列表,请不要使用.gitignore文件,而是编辑.git/info/exclude文件,该文件永远不会添加到版本库中。


这是正确的答案。我只想补充一下,这两个文件有不同的用途。通常的做法是在“.gitignore”中填写项目生成的文件/目录,如构建输出。而“.git/info/exclude”对于忽略特定于开发人员机器或配置的文件非常有用。 - arainone
有没有一种方法可以在不实际修改文件的情况下完成这个操作?例如右键单击文件,然后选择排除? - Samuel Thompson
@SamuelThompson:这将是您使用的GUI(图形用户界面)的一个功能,对于您来说是SourceTree。恐怕我不太了解SourceTree。 - Greg Hewgill
你会推荐哪个GUI界面? - Samuel Thompson
@SamuelThompson:我不使用Git的图形用户界面,我使用命令行。所以恐怕我没有推荐GUI。我会手动编辑.git/info/exclude文件。 - Greg Hewgill

2
为什么你不想把它放在你的代码库里?这个文件应该在那里。
无论如何,你应该使用assume-unchanged标志。https://git-scm.com/docs/git-update-index

--[no-]assume-unchanged

当指定此标志时,路径记录的对象名称不会更新。
相反,此选项设置/取消路径的“假定未更改”位。

当“假定未更改”位打开时,用户承诺不更改文件,并允许Git假设工作树文件与索引中记录的内容相匹配。如果要更改工作树文件,则需要取消位以告知Git。在使用具有非常缓慢的lstat(2)系统调用(例如cifs)的文件系统上处理大型项目时,有时很有帮助。

如果Git需要修改此文件以合并提交,则Git将失败(优雅地);因此,如果假定为跟踪的文件在上游发生更改,则您需要手动处理该情况。

enter image description here


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