将文件条目添加到 Git 中的 gitignore 文件

本教程将讨论向 Git 中的 .gitignore 文件添加文件条目。

将文件条目添加到 Git 中的 .gitignore 文件

Git 跟踪 Git 仓库的项目目录中所有文件的修改。我们可能希望禁止在 Git 仓库中跟踪特定文件。

通常,我们希望从跟踪中忽略的文件是作为构建过程、临时文件或系统生成文件的一部分创建的。

在 Git 仓库中跟踪通常会忽略的一些常见文件类型如下:

  • 编译时创建的代码文件,例如 .o.pyc.class 文件;
  • 构建的输出目录,例如 /bin/out/target
  • 运行时生成的文件,例如 .log.lock.tmp
  • 隐藏的系统文件,例如 .DS_StoreThumbs.db
  • 个人 IDE 的配置文件,例如 .idea/workspace.xml
  • 编辑器临时文件,例如 .swp.swo(由 Vim 编辑器生成);
  • 包文件或压缩文件,例如 .jar.war.nar.zip.tar.gz.rar

我们可以使用 Git 的 .gitignore 文件功能来忽略文件的跟踪。它是一个特殊文件,通常在 Git 仓库中项目目录的根目录中签入。

没有特殊的命令可以触发忽略过程。每当我们有我们希望忽略的新文件时,都需要更新 .gitignore 文件并将其提交到仓库。

我们需要在与 Git 仓库中的文件名匹配的 .gitignore 文件中添加模式,以决定是添加还是忽略它们。

下面是 .gitignore 用来匹配文件名的通配符模式。

  • .log 忽略目录中带有 .log 扩展名的日志文件,例如。debug.log、.log、logs/debug.log
  • /bin 忽略 bin 文件夹
  • .class 忽略已编译的类文件
  • .tmp 忽略 tmp (临时) 文件
  • logs 忽略名称为 logs 的文件和目录的内容。

按照惯例,我们可以将 .gitignore 文件放在仓库的顶级目录中。我们还可以在子目录中添加多个 .gitignore 文件。

特定 .gitignore 文件中的模式相对于包含该文件的目录进行测试。

请参阅下面的示例 .gitignore 文件的摘录。

$ cat .gitignore
# ignore the bin folders
**/bin/
# Compiled class file
*.class
# Log file
*.log
# tmp files
*.tmp
# Vim temp files
*.swp
*.swo
...

行首的 # 在文件中添加注释。

我们还可以在本地系统仓库中添加个人忽略模式。我们需要将它们添加到本地系统中位置 git/info/exclude 的特定文件中。

这不是版本控制的,也没有提交并与我们的仓库一起分发。

我们还可以为本地系统中存在的所有仓库定义全局 Git 忽略模式。我们需要设置 Git 全局属性 core.excludesFile

因此,例如,我们可以在我们的主目录中添加全局 .gitignore 文件,并使用命令 git config 配置其位置,如下所示。

$ touch ~/.gitignore
$ git config --global core.excludesFile ~/.gitignore

我们已经学会了将文件条目添加到 Git 中的 .gitignore 文件中。

欲了解更多信息,请访问以下内容。

  1. .gitignore
  2. 通配模式
  3. 忽略文件