【Git】忽略已经提交的文件

Posted by 西维蜀黍 on 2020-07-06, Last Modified on 2021-09-21

Situaion

在初始化git仓库的时候,没有创建.gitignore文件来过滤不必要提交的文件,后来却发现某些文件不需要提交,但是这些文件已经被提交了。

这时候创建.gitignore文件并添加对应规则以忽略这些文件,就会发现,对这些文件的修改仍然会被 track到,即忽略ignore的规则对那些已经被track的文件无效。

其实.gitignore文件只会忽略那些没有被跟踪的文件,也就是说ignore规则只对那些在规则建立之后被新创建的新文件生效。

因此推荐: 初始化git项目时就创建.gitignore文件

Solution

删除track的文件 (已经commit的文件)

  • git rm 要忽略的文件
  • git commit -a -m "删除不需要的文件"

.gitignore文件中添加忽略规则

  • .gitignore文件中添加ignore条目, 如: some/path/some-file.ext
  • 提交.gitignore文件: git commit -a -m "添加ignore规则"

推送到远程仓库是ignore规则对于其他开发者也能生效: git push [remote]

Reference