不要忽视 .gitignore


不要忽视 .gitignore

文章插图
 
使用 .gitignore 文件是提高代码和 Git 仓库质量的最佳实践之一 。
• 来源:linux.cn • 作者:Rajeev Bera • 译者:Xingyu.Wang •
(本文字数:2006 , 阅读时长大约:3 分钟)
使用 .gitignore 文件是提高代码和 Git 仓库质量的最佳实践之一 。
我注意到很多开发者没有使用 .gitignore 文件 , 尽管使用 .gitignore 文件来指定你不希望 Git 在版本控制中跟踪的文件是 最佳实践 之一 。.gitignore 可以提高代码质量 , 所以你不应该忽略版本库中的 .gitignore。
什么是 .gitignore?Git 仓库中的文件可以是:
  1. 未跟踪的:未被暂存或提交的变更 。
  2. 跟踪的:已暂存或提交的变更 。
  3. 忽略的:你让 Git 忽略的文件 。
有些文件你希望 Git 忽略 , 不要在你的版本库中跟踪它 , 这些文件包括许多自动生成的或特定于平台的文件 , 以及其他本地配置文件 , 如:
  1. 含有敏感信息的文件
  2. 编译出的代码 , 如 .dll 或 .class 。
  3. 系统文件 , 如 .DS_Store 或 Thumbs.db 。
  4. 含有临时信息的文件 , 如日志、缓存等 。
  5. 生成的文件 , 如 dist 文件夹 。
如果你不想让 Git 跟踪版本库中的某些文件 , 不过这不能通过 Git 命令 做到 。(虽然你可以用 git rm 命令停止跟踪一个文件 , 比如 git rm --cached 。)相反 , 你需要使用 .gitignore 文件 , 这是一个告诉 Git 不要跟踪哪些文件的文本文件 。
创建 .gitignore 文件很简单 , 只需创建一个文本文件并命名为 .gitignore 。记得在文件名的开头有一个点(.) 。就这样就完成了 。
编写 .gitignore 文件的规则根据 文档  , “.gitignore 文件中的每一行都指定了一个模式 。”
在此上下文中 , “模式”可以指一个特定的文件名 , 或者指文件名的某些部分结合上通配符 。换句话说 , example.txt 是匹配名为 example.txt 的文件的有效模式 , 而 ex*txt 是匹配名为 example.txt 以及 export.txt 的文件的有效模式 。
以下是一些帮助你正确设置 .gitignore 文件的基本规则:
  1. 任何以哈希(#)开头的行都是注释 。
  2. 字符可以转义特殊字符 。
  3. / 字符表示该规则只适用于位于同一文件夹中的文件和文件夹 。
  4. 星号(*)表示任意数量的字符(零个或更多) 。
  5. 两个星号(**)表示任意数量的子目录 。
  6. 一个问号(?)代替零个或一个字符 。
  7. 一个感叹号(!)会反转特定的规则(即包括了任何被前一个模式排除的文件) 。
  8. 空行会被忽略 , 所以你可以用它们来增加空间 , 使你的文件更容易阅读 。
  9. 在末尾添加 / 会忽略整个目录路径 。
本地与全局 .gitignore 文件的比较有两种类型的 .gitignore 文件:
  • 本地:放在 Git 仓库的根目录下 , 只在该仓库中工作 , 并且必须提交到该仓库中 。
  • 全局:放在你的主目录根目录下 , 影响你在你的机器上使用的每个仓库 , 不需要提交 。
很多开发者在项目仓库中使用本地的 .gitignore 文件 , 但很少有人使用全局的 .gitignore 文件 。使用全局文件最显著的优势是 , 你不需要提交就可以使用它 , 而且做一个改动会影响你所有的版本库 。
Git 忽略的优势除了确保特定的文件不被 Git 追踪之外 , 使用 .gitignore 文件还有其他好处 。
  1. 通过忽略不需要的文件 , 它可以帮助你保持代码库的干净 。
  2. 它可以控制代码库的大小 , 这在你正在做一个大项目的时候特别有用 。
  3. 你的每一次提交、推送和拉取请求都将是干净的 。
结束语【不要忽视 .gitignore】Git 很强大 , 但归根结底 , 它只是一个计算机程序而已 。使用最佳实践并保持你的代码仓库稳定是一个团队的努力 , 其中要做到一件事就是使用 .gitignore 文件 。


    推荐阅读