git 忽略文件, 其实有两种场景: 永久忽略 与 临时忽略;
使用.gitignore
在最刚开始时永久忽略指定文件是最常见的处理, 但是偶尔也会遇到特殊情况:
1.一时疏忽, 将本该忽略的文件提交追踪了;
2.需要临时忽略某指定文件, 一段时间后再继续追踪;
本文将讨论以上两种情况下的 git 处理;
永远忽略已被跟踪的文件
适用场景:
手误上传了不需要上传的文件, 希望斩草除根, 以后不让 git 追踪该文件;1
2
3
4# first step
git rm --cached file_path/
# second step
更新 .gitignore 文件, exclude 目标文件
临时忽略已被跟踪的文件
适用场景:
目标文件庞大, 每次修改保存时, git 计算文件的变化并更新 working directory, 触发磁盘IO瓶颈;
所以需要临时忽略文件, 待修改完成 commit 时恢复跟踪;1
2
3
4
5
6# first step
git update-index --assume-unchanged file_path/
# second step
编辑文件...
# third step
git update-index --no-assume-unchanged file_path/