编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 名词解释 / .gitignore

.gitignore

.gitignore 是放在 Git 仓库里的一个纯文本文件,用来告诉 Git 哪些文件或目录不需要纳入版本控制。它逐行列出匹配规则(glob 通配模式),命中的路径会被 Git 忽略:既不会出现在 git status 的未跟踪列表里,也不会被 git add . 意外提交。

它的价值在于把「不该进仓库」的东西挡在外面。典型需要忽略的有:

最常见的误区是:.gitignore 只对「尚未被追踪」的文件生效。如果某个文件已经提交过,再把它写进 .gitignore 也不会被忽略,必须先用 git rm --cached <文件> 取消追踪。语法上,# 是注释,结尾 / 表示目录,* 通配,开头 ! 表示取反(强制包含),开头 / 用来锚定仓库根目录。

常见问题

为什么我写进 .gitignore 的文件还是被提交了?
因为该文件之前已经被 Git 追踪了。.gitignore 只对未追踪的文件生效,对已追踪文件无效。需要先执行 git rm --cached <文件> 取消追踪,再提交一次即可。
.gitignore 本身要不要提交到仓库?
要。它应当随项目一起提交,让团队成员共享同一套忽略规则。如果只是你个人临时想忽略,可以写到 .git/info/exclude 或全局的 core.excludesFile,不影响别人。
怎样忽略一整类文件,但保留其中某一个?
用开头的 ! 取反规则。例如先写 *.log 忽略所有日志,再写 !keep.log 单独保留它。注意:如果父目录整体已被忽略,对目录内文件的取反不会生效。

相关工具

相关名词