将文件条目添加到 Git 中的 gitignore 文件
本教程将讨论向 Git 中的 .gitignore
文件添加文件条目。
将文件条目添加到 Git 中的 .gitignore
文件
Git 跟踪 Git 仓库的项目目录中所有文件的修改。我们可能希望禁止在 Git 仓库中跟踪特定文件。
通常,我们希望从跟踪中忽略的文件是作为构建过程、临时文件或系统生成文件的一部分创建的。
在 Git 仓库中跟踪通常会忽略的一些常见文件类型如下:
- 编译时创建的代码文件,例如
.o
、.pyc
或.class
文件; - 构建的输出目录,例如
/bin
、/out
或/target
; - 运行时生成的文件,例如
.log
、.lock
或.tmp
; - 隐藏的系统文件,例如
.DS_Store
或Thumbs.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
文件中。
欲了解更多信息,请访问以下内容。