git如何忽略已经被追踪的文件

产生问题的场景

有时候我们在项目初始化提交时,将某个无用文件提交到了远程仓库中。之后,在整理项目时,你希望将远程仓库中的这个无用文件添加到. gitignore忽略文件中,从而令其修改不会被git追踪到。然而,事与愿违,你会发现,一旦这个文件被改动(几乎都是由于项目编译引起的改动),git总能追踪到他,及时已经正确的被添加到. gitignore文件中

产生问题的原因

这是因为我们误解了. gitignore文件的用途,该文件只能作用于Untracked Files,也就是那些从来没有被git记录过的文件(自添加以后,从未add以及commit过的文件)。
之所以. gitignore的规则不生效,是因为那份无用文件曾经被git记录过,因此. gitignore对它们完全无效。

解决方案

强制忽略

使用命令git update-index --assume-unchanged <files>来强制忽略指定文件,命令执行后,使用git status时,被强制忽略的文件就不会出现在工作区了。当需要取消强制忽略时,可以使用git update-index --no-assume-unchanged <files>命令来达到目的。

发布了36 篇原创文章 · 获赞 9 · 访问量 4864

猜你喜欢

转载自blog.csdn.net/lotty_wh/article/details/104808370
今日推荐