程序员社区

Git系列教程 --- 19、Git的忽略(Git ignore)

在 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 文件。请记住,您正在处理所需的目录。考虑以下命令:

file

上面的命令将创建一个名为 .gitignored 的文件。我们可以在存储库上跟踪它。考虑下图:

file

从上图可以看出,已经为我的存储库创建了一个 .gitignore 文件。

步骤 2:现在,将文件和目录添加到要忽略的.gitignore文件中。要将文件和目录添加到 .git 忽略文件,请打开文件并键入文件名、目录名和模式以忽略文件和目录。考虑下图:

file

在上面的文件中,我给出了一种格式和一个要忽略的目录。上述格式.txt将忽略存储库中的所有文本文件,/newfolder/\将忽略新文件夹及其子内容。我们也可以只给出要忽略的任何文件的名称。

第三步:现在,要在 Git 上共享它,我们必须提交它。.gitignore 文件现在仍在暂存区;我们可以通过 git status 命令跟踪它。考虑以下输出:

Git Ignore

现在要上演它,我们必须提交它。要提交它,请运行以下命令:

$ git add .gitignore  
$ git commit -m "ignored directory created."  

上面的命令将在 Git 上共享文件 .gitignore。考虑以下输出。

file
file

现在,我们忽略了 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指定排除模式。考虑以下输出:

file

从上面的输出中,我们可以看到ls命令列出了存储库中可用的忽略文件。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » Git系列教程 --- 19、Git的忽略(Git ignore)

一个分享Java & Python知识的社区