你在用Git做版本控制时,是不是经常看到一堆不必要的文件被标记为“未跟踪”?比如编译生成的缓存文件、日志、或者IDE自动生成的配置。这些文件不仅干扰提交列表,还容易误提交到远程仓库。其实,只要简单设置忽略文件,就能让Git变得更清爽。
为什么要设置忽略文件
举个例子,你用VS Code写代码,项目里总会多出一个.vscode文件夹,里面是你的个人偏好设置。这些配置对别人没用,甚至可能引发冲突。还有像Python项目的__pycache__、Node.js的node_modules,体积大又没必要进版本库。忽略它们,能减少混乱,提升协作效率。
怎么设置忽略规则
Git通过项目根目录下的.gitignore文件来定义哪些内容不被追踪。新建这个文件,每行写一条规则就行。比如:
# 忽略所有.log文件
*.log
# 忽略node_modules文件夹
node_modules/
# 忽略系统生成的.DS_Store
.DS_Store
# 忽略某个特定路径
/build/
/temp/
星号*可以匹配任意字符,斜杠/用来限定目录。加#是注释,方便以后自己看懂。规则写好后,下次执行git status就看不到那些烦人的文件了。
全局忽略设置
有些文件每个项目都会出现,比如macOS的.DS_Store或Windows的Thumbs.db。不想每个项目都重复写,可以用全局忽略。运行这条命令:
git config --global core.excludesfile ~/.gitignore_global
然后在用户目录下创建.gitignore_global文件,把通用规则放进去。这样所有项目都会自动忽略这些文件。
已经提交的文件还能忽略吗
如果某个文件已经被Git跟踪了,再加到.gitignore里是没用的。比如你不小心把config.local.json提交了,现在想忽略它。得先从缓存中移除:
git rm --cached config.local.json
然后再更新.gitignore。这样文件保留在本地,但不再同步到仓库。
合理设置忽略文件,就像给垃圾桶装了个智能分类盒,该留的留,该扔的自动过滤。项目越复杂,这一步越值得花几分钟做好。