不要忽略 .gitignore

使用 .gitignore 文件是提高代码质量和 Git 存储库的最佳实践。
65 位读者喜欢这篇文章。
Business woman on laptop sitting in front of window

图片来自 Mapbox Uncharted ERG, CC-BY 3.0 US

我注意到很多开发者没有使用 .gitignore 文件,即使使用它来指定你不想让 Git 在版本控制中跟踪的文件是一个最佳实践。 因为 .gitignore 可以提高您的代码质量,所以您不应忽略存储库中的 .gitignore

.gitignore 是什么?

工作 Git 存储库中的文件可以是

  1. 未跟踪: 尚未暂存或提交的更改
  2. 已跟踪: 已暂存或提交的更改
  3. 已忽略: 您告诉 Git 忽略的文件

您希望 Git 忽略并且不跟踪存储库中的某些文件。 这些包括许多自动生成或特定于平台的文件,以及其他本地配置文件,例如

  1. 包含敏感信息的文件
  2. 已编译的代码,例如 .dll.class
  3. 系统文件,例如 .DS_StoreThumbs.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. 在末尾添加 / 会忽略整个目录路径。

本地 vs. 全局 .gitignore 文件

有两种类型的 .gitignore 文件

  • 本地: 放置在 Git 存储库的根目录中,仅在该存储库上有效,并且必须提交到该存储库
  • 全局: 放置在您的主目录的根目录中,影响您在机器上使用的每个存储库,不需要提交

许多开发人员在其项目存储库中使用本地 .gitignore 文件,但很少有人使用全局 .gitignore 文件。 使用全局文件最重要的优势在于您不需要提交它即可使用它,并且进行一次更改会影响所有存储库。

Git ignore 的优势

除了确保 Git 不跟踪特定文件之外,使用 .gitignore 文件还有其他优势

  1. 它通过忽略不需要的文件来帮助您保持代码存储库的清洁。
  2. 它可以控制您的存储库大小,如果您正在处理大型项目,这将特别有用。
  3. 您进行的每次提交、推送和拉取请求都将是干净的。

结论

Git 非常强大,但最终,它只是另一个计算机程序。 使用最佳实践并保持代码仓库的稳定是一项团队工作,其中一部分是使用 .gitignore 文件。

接下来阅读什么
标签
User profile image.
我是一位技术爱好者。 我喜欢在有机会的时候为各种项目做出贡献。 您可以在我的网站 aCompiler 上找到我

2 条评论

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议授权。
© . All rights reserved.