Git 中的 .gitignore 文件的作用是什么?如何配置?
回答重点
.gitignore 文件的作用是在 Git 版本控制中,指定哪些文件或目录不需要被 Git 跟踪和提交。这个文件的存在可以避免一些不必要的文件(如临时文件、编译生成的文件、日志文件等)被添加到版本控制中,从而保持代码仓库的整洁和高效。
要配置 .gitignore 文件,只需要在你的 Git 仓库的根目录下创建一个名为 .gitignore 的文件,然后在这个文件里列出你想要忽略的文件或目录的路径。每一行代表一个规则,可以是文件名、路径或通配符。
扩展知识
1) 常见的配置示例 :
*.log:忽略所有 .log 结尾的文件。build/:忽略 build 目录及其下所有文件。*.tmp:忽略所有 .tmp 结尾的文件。!important.log:但是不忽略 important.log 文件,即使上面有 *.log 的忽略规则。
2) 通配符使用 :
*:匹配零个或多个字符,例如*.txt会匹配所有 .txt 文件。?:匹配单个字符,例如file?.txt会匹配file1.txt、filea.txt等。**:匹配任意数量的目录,例如a/**/z会匹配a/z、a/b/z、a/b/c/z等。
3) 局部 .gitignore 文件 : 除了在仓库根目录下放置 .gitignore 文件外,还可以在子目录中放置 .gitignore 文件,用来定义仅针对该目录以及子目录的忽略规则。
4) 查看忽略规则 : 你可以使用 git check-ignore -v <filename> 命令来检查某个文件是否被忽略以及它是被哪个 .gitignore 规则忽略的。
5) 配置优先级 : .gitignore 文件的忽略规则优先级高于全局忽略规则(可以通过 core.excludesFile 配置全局的忽略文件),而 .gitignore 文件本身被版本管理,因此团队共享的忽略规则可以通过仓库内的 .gitignore 文件来统一。
6) 示例 : 假设我们有个 Node.js 项目,我们可以使用以下 .gitignore 文件来忽略不必要的文件:
# 忽略 node_modules 目录
node_modules/
# 忽略编译输出文件
dist/
# 忽略日志文件
*.log
# 忽略环境文件
.env
# 忽略操作系统生成的杂项文件
.DS_Store
Thumbs.db
技术改变世界!
--狂诗绝剑

浙公网安备 33010602011771号