.gitignore怎么用?代码提交前必看的实用技巧

每次ref="/tag/245/" style="color:#B2A89E;font-weight:bold;">提交代码,总有些文件不该进仓库,比如本地配置、日志、node_modules。手一滑提交了,后悔都来不及。其实.gitignore就是干这个的,用好了省心又高效。

什么是 .gitignore

.gitignore 是一个文本文件,放在项目根目录下,告诉 Git 哪些文件或目录不用跟踪。比如你开发时生成的缓存文件、IDE 自动生成的配置,通通可以列进去,Git 就不会再提示你提交它们。

基本写法很简单

每一行写一个规则,支持通配符。常见写法:

# 忽略所有 .log 文件
*.log

# 忽略某个具体文件
config.local.js

# 忽略整个目录
dist/
node_modules/

# 但保留某个子文件(取反)
!important.log

以 # 开头是注释,* 匹配任意字符,/ 表示目录。比如 node_modules/ 能避免误提交庞大的依赖包,这在团队协作中特别关键。

实际场景举例

你在做前端项目,跑完 npm install 后多了几万个 node_modules 文件,Git 列表瞬间爆炸。这时候如果没写 .gitignore,拉代码的人还得手动删,效率极低。提前加一行 node_modules/,问题彻底解决。

再比如后端项目,数据库密码写在 .env 文件里。这种敏感信息绝不能提交,但每个人本地都有。直接在 .gitignore 里加上 .env,谁都不会不小心传上去。

全局忽略更省事

有些文件每个项目都不想管,比如 macOS 的 .DS_Store 或编辑器的 .vscode/settings.json。可以设置全局 .gitignore:

git config --global core.excludesfile ~/.gitignore_global

然后在 ~/.gitignore_global 里写通用规则,一劳永逸。

已经提交了怎么办

有时候文件已经被跟踪了,再加到 .gitignore 也没用,Git 还是会管它。这时候得先取消跟踪:

git rm -r --cached node_modules

执行后文件保留在本地,但不再被 Git 管理。再提交一次,仓库就干净了。

小细节:.gitignore 本身要提交进仓库,这样团队成员都能共享规则,避免各自踩坑。