Git – Ignore命令

在Git中,”ignore”一词是用来指定Git应该忽略的故意不被追踪的文件。它并不影响已经被Git追踪的文件。

有时你不想把文件发送到GitHub等Git服务。我们可以在Git中指定要忽略的文件。

Git 的文件系统被分为三类。

Tracked:

追踪的文件是指以前被暂存或提交的这类文件。

Untracked:

未跟踪的文件是指这种先前未被分阶段或提交的文件。

Ignored:

忽略的文件是指这种被git明确忽略的文件。我们必须告诉 git 忽略这些文件。

一般来说,被忽略的文件是人工制品和机器生成的文件。这些文件可以来自你的版本库源,或者不应该被提交。一些常见的被忽略的文件如下。

  • 依赖性缓存
  • 编译的代码
  • 构建输出目录,如/bin、/out或/target
  • 产生的运行时文件,如.log、.lock或.tmp
  • 隐藏的系统文件,如Thumbs.db或.DS_Store
  • 个人IDE配置文件,如.idea/workspace.xml

Git Ignore 文件

Git ignore文件是一个文件,可以是任何文件,也可以是一个文件夹,其中包含所有我们想要忽略的文件。开发者会忽略那些对执行项目没有必要的文件。Git本身会创建许多系统生成的忽略文件。通常情况下,这些文件都是隐藏文件。有几种方法来指定忽略的文件。忽略的文件可以在放在仓库根目录上的.gitignore文件上进行追踪。不使用明确的命令来忽略文件。

没有明确的git ignore命令;相反,当你有新的文件想要忽略时,必须编辑.gitignore文件并手工提交。.gitignore文件保存了与你的版本库中的文件名相匹配的模式,以确定它们是否应该被忽略。

如何手动忽略文件

在Git中没有忽略文件的命令;或者说,在Git中有几种指定忽略文件的方法。最常见的方法之一是 .gitignore 文件。让我们通过一个例子来理解它。

.gitignore 文件:

忽略文件的规则是在.gitignore文件中定义的。.gitignore文件是一个包含所有被忽略文件的格式和文件的文件。我们可以在一个不同的目录下创建多个忽略文件。让我们通过一个例子来了解它是如何工作的。

第一步:如果你的目录中没有一个名为.gitignore的文件,那么就创建一个。要创建一个文件,使用touch或cat命令。它将使用如下。

$ touch .gitignore

$ cat .gitignore

上述命令将在你的目录上创建一个.gitignore文件。记住,你是在你想要的目录上工作。考虑一下下面的命令。

Git Ignore

上述命令将创建一个名为.gitignore的文件。我们可以在版本库中跟踪它。请看下面的图片。

Git Ignore

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

第二步:现在,将你想忽略的文件和目录添加到.gitignore文件中。要把文件和目录添加到.gitignore文件中,打开该文件,输入文件名、目录名和模式,以忽略文件和目录。考虑一下下面的图片。

Git Ignore

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

第三步: 现在,为了在Git上分享它,我们必须提交它。.gitignore文件现在还在暂存区;我们可以用git status命令来跟踪它。请看下面的输出。

Git Ignore

现在,为了使它进入阶段,我们必须提交它。要提交它,请运行下面的命令。

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

上述命令将在 Git 上共享.gitignore文件。请看下面的输出。

Git Ignore
Git Ignore

现在,我们已经在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选项代表忽略,而--exclud-standard则指定了排除模式。请看下面的输出。

Git Ignore

从上面的输出,我们可以看到ls命令正在列出版本库中可用的被忽略的文件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程