.gitignore 文件的用途是什么?


编译 Git 项目时,可能会生成二进制文件、锁文件、临时文件和元数据文件。这些是源代码中不包含的中间文件。例如,IDE 配置文件或编译期间生成的“.class”、“.exe”、“.bin”等中间文件,应该被版本控制系统忽略,因为它们在每个开发人员的机器上都会有所不同,并且会不必要地增加存储库的大小。

.gitignore 是一个文本文件,每一行都包含要忽略的文件或目录的模式。它通常放在项目文件夹的根目录下。或者,您可以将其放在存储库中的任何文件夹中,一个项目可以有多个.gitignore 文件。

此文件列出了故意不跟踪并应被 Git 忽略的文件。需要注意的是,在添加到.gitignore 文件之前已暂存的文件的更改将继续被 Git 跟踪。换句话说,.gitignore 只会忽略工作目录中的文件。

让我们用一个例子来理解这一点。

步骤 1 - 创建一个名为“meta”的文件夹,并在其中添加一个文件“xyz.bin”。向文件中添加一些内容。

$ mkdir meta
$ echo hello > meta/xyz.bin

步骤 2 - 执行命令git status

$ git status

Git 显示一条消息,指出“meta/”文件未跟踪,这意味着更改未暂存。

Untracked files:
   (use “git add <file>...” to include in what will be committed)
   meta/
Nothing added to commit but untracked files present (use “git add” to track)

步骤 3 - 现在假设 Git 应该忽略对“meta”文件夹的更改。为此,我们将创建一个 .gitignore 文件,并将“meta/”文件夹添加到.gitignore 文件中,如下所示:

$ meta/>.gitignore // creates a .gitignore file and tells it that changes to meta folder should be ignored
$ code .gitignore //opens the file in the default editor (here, VS Code)

以上命令的输出显示在屏幕截图中。

现在让我们验证一下最初对 meta 文件夹所做的更改是否仍然被 Git 跟踪。使用git status 命令。

$ git status

下面的屏幕截图显示“meta/”文件夹现在被 Git 忽略了。

步骤 4 - 暂存并提交.gitignore 文件。

$ git add .gitignore
$ git commit −m ‘add gitignore file’

以上命令的输出显示在屏幕截图中。

[master (root−commit) 6bd9c93] add gitignore file
1 file changed, 1 insertion(+)
create mode 100644 .gitignore

更新于:2021年2月20日

2K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告