在 Git 中,术语“ignore”用于指定 Git 应忽略的有意未跟踪的文件。它不会影响已经被 Git 跟踪的文件。
有时您不想将文件发送到 GitHub 等 Git 服务。我们可以在 Git 中指定要忽略的文件。
Git的文件系统分为三类:
跟踪:
跟踪文件是以前暂存或提交的文件。
未追踪:
未跟踪文件是以前未暂存或提交的文件。
忽略:
忽略的文件是被 git 明确忽略的文件。我们必须告诉 git 忽略这些文件。
通常,忽略的文件是工件和机器生成的文件。这些文件可以从您的存储库源派生,否则不应提交。一些经常被忽略的文件如下:
- 依赖缓存
- 编译代码
- 构建输出目录,如 /bin、/out 或 /target
- 生成的运行时文件,如 .log、.lock 或 .tmp
- 隐藏的系统文件,如 Thumbs.db 或.DS_Store
- 个人 IDE 配置文件,例如 .idea/workspace.xml
Git忽略文件
Git 忽略文件是一个文件,可以是任何文件或包含我们要忽略的所有文件的文件夹。开发人员忽略执行项目不需要的文件。Git 本身会创建许多系统生成的忽略文件。通常,这些文件是隐藏文件。有多种方法可以指定忽略文件。可以在位于存储库根文件夹中的.gitignore文件上跟踪被忽略的文件。没有使用显式命令来忽略该文件。
没有明确的 git ignore 命令;相反,当您有要忽略的新文件时,必须手动编辑和提交 .gitignore 文件。.gitignore 文件包含与存储库中文件名匹配的模式,以确定是否应忽略它们。
如何手动忽略文件
Git 中没有忽略文件的命令;或者,有几种方法可以在 git 中指定忽略文件。最常见的方法之一是.gitignore文件。让我们通过一个例子来理解它。
.gitignore 文件:
忽略文件的规则在 .gitignore 文件中定义。.gitignore 文件是一个包含被忽略文件的所有格式和文件的文件。我们可以在不同的目录中创建多个忽略文件。让我们通过一个例子来了解它是如何工作的:
步骤 1:如果您的目录中还没有名为 .gitignore 的文件,请创建一个文件。要创建文件,请使用命令 touch 或 cat。它将使用如下:
$ touch .gitignore
或者
$ cat .gitignore
上面的命令将在您的目录中创建一个 .gitignore 文件。请记住,您正在处理所需的目录。考虑以下命令:
上面的命令将创建一个名为 .gitignored 的文件。我们可以在存储库上跟踪它。考虑下图:
从上图可以看出,已经为我的存储库创建了一个 .gitignore 文件。
步骤 2:现在,将文件和目录添加到要忽略的.gitignore文件中。要将文件和目录添加到 .git 忽略文件,请打开文件并键入文件名、目录名和模式以忽略文件和目录。考虑下图:
在上面的文件中,我给出了一种格式和一个要忽略的目录。上述格式.txt将忽略存储库中的所有文本文件,/newfolder/\将忽略新文件夹及其子内容。我们也可以只给出要忽略的任何文件的名称。
第三步:现在,要在 Git 上共享它,我们必须提交它。.gitignore 文件现在仍在暂存区;我们可以通过 git status 命令跟踪它。考虑以下输出:
现在要上演它,我们必须提交它。要提交它,请运行以下命令:
$ git add .gitignore
$ git commit -m "ignored directory created."
上面的命令将在 Git 上共享文件 .gitignore。考虑以下输出。
现在,我们忽略了 Git 中的一个模式文件和一个目录。
将模式放入 .gitignore 文件的规则:
.gitignore 文件中可以放入的模式规则如下:
- Git 忽略空行或以 # 开头的行。
- 只有标准 glob 模式有效,并将在整个工作树中递归应用。
- 可以使用正斜杠 (/) 开始模式以避免递归。
- 模式可以以正斜杠 (/) 结束以指定目录。
- 可以通过以感叹号 (!) 开头来否定模式。
全局 .gitignore:.
众所周知,我们可以为一个项目创建多个 .gitignore 文件。但是 Git 也允许我们创建一个通用的 .gitignore 文件,可以用于整个项目。此文件称为全局 .gitignore 文件。要创建全局 .gitignore,请在终端上运行以下命令:
$ git config --global core.excludesfile ~/.gitignore_global
上面的命令将为存储库创建一个全局 .gitignore 文件。
如何列出被忽略的文件?
在 Git 中,我们可以列出被忽略的文件。有多种命令可以列出被忽略的文件,但最常见的列出文件的方法是ls 命令。要列出被忽略的文件,请按如下方式运行 ls 命令:
$ git ls-files -i --exclude-standard
或者
$ git ls-files --ignore --exclude-standard
上面的命令将列出存储库中所有可用的忽略文件。在给定的命令中,-I选项代表忽略,-- exclude -standard指定排除模式。考虑以下输出:
从上面的输出中,我们可以看到ls命令列出了存储库中可用的忽略文件。