美文网首页
git如何忽略已经被追踪的文件

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

作者: lotty_wh | 来源:发表于2020-03-11 23:15 被阅读0次

    问题出现的场景

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

    产生问题的原因

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

    从根源解决问题

    了解了原因以后,我们需要做的就很明确了:

    1. 从 Git 的数据库中删除对于该文件的追踪
    2. 把对应的规则写入 .gitignore,让忽略真正生效
    3. 提交+推送

    具体执行

    强制忽略

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

    相关文章

      网友评论

          本文标题:git如何忽略已经被追踪的文件

          本文链接:https://www.haomeiwen.com/subject/hqwkjhtx.html