Git Add

17 Mar 2025 | 4 分钟阅读

git add 命令用于将文件内容添加到索引(暂存区)。此命令将工作树的当前内容更新到暂存区。它还为下一次提交准备暂存内容。每次我们在项目中添加或更新任何文件时,都需要将更新转发到暂存区。

git add 命令是 Git 技术的关键部分。它通常一次添加一个文件,但有一些选项可以一次添加多个文件。

“索引”包含工作树数据的快照。此快照将转发以进行下一次提交。

git add 命令可以在提交之前运行多次。所有这些添加操作都可以放在一次提交下。 add 命令添加在命令行上指定的文件。

git add 命令默认情况下不会添加 .gitignore 文件。 实际上,我们可以使用此命令忽略文件。

让我们了解如何在 Git 上添加文件?

Git 添加文件

Git add 命令是一个直接的命令。 它将文件添加到暂存区。 我们可以一次在暂存区中添加单个或多个文件。 它将运行为

上面的命令已添加到 git 暂存区,但仍无法在版本控制系统上共享。 需要提交操作才能共享它。 让我们了解以下情况。

我们在NewDirectory中为我们新创建的存储库创建了一个文件。 要创建文件,请使用 touch 命令,如下所示

并通过 git status 命令检查状态是否未跟踪,如下所示

上面的命令将显示存储库中未跟踪的文件。 这些文件可以添加到我们的存储库中。 众所周知,我们创建了一个 newfile.txt,因此要添加此文件,请运行以下命令

考虑下面的输出

Git Add

从上面的输出中,我们可以看到 newfile.txt 已添加到我们的存储库中。 现在,我们必须提交它才能在 Git 上共享。

Git 添加所有

我们可以在 Git 中添加多个文件,但必须重复运行 add 命令。 Git 通过 add 命令的一个独特选项为我们提供了便利,我们可以通过该选项一次添加所有可用文件。 要添加存储库中的所有文件,请运行带有 -A 选项的 add 命令。 我们可以使用“.”代替 -A 选项。 此命令将一次暂存所有文件。 它将运行如下

上面的命令将添加存储库中所有可用的文件。 考虑以下情况

我们可以创建四个新文件,也可以复制它们,然后一次添加所有这些文件。 考虑以下输出

Git Add

在上面的输出中,所有文件都显示为 Git 未跟踪的文件。 要一次跟踪所有这些文件,请运行以下命令

上面的命令会将所有文件添加到暂存区。 请记住,-A 选项区分大小写。 考虑以下输出

Git Add

在上面的输出中,已添加所有文件。 所有文件的状态都显示为已暂存。

从暂存区中删除文件

git add 命令还用于从暂存区中删除文件。 如果我们从存储库中删除一个文件,那么它可以作为未跟踪文件提供给我们的存储库。 add 命令用于将其从暂存区中删除。 听起来很奇怪,但 Git 可以做到。 考虑以下情况

我们已经从存储库中删除了 newfile3.txt。 删除文件后,存储库的状态如下

Git Add

从上面的输出中我们可以看到,删除的文件仍然在暂存区中。 要将其从索引中删除,请运行以下命令

考虑下面的输出

Git Add

从上面的输出中,我们可以看到该文件已从暂存区中删除。

仅添加所有新建和更新的文件

Git 允许我们一次暂存仅更新和新创建的文件。 我们将使用 ignore removal 选项来执行此操作。 它将使用如下

添加所有已修改和已删除的文件

Git add 为我们提供了多种选择。 Git 中还有另一个选项可用,该选项允许我们仅暂存已修改和已删除的文件。 它不会暂存新创建的文件。 要仅暂存所有已修改和已删除的文件,请运行以下命令

通过通配符添加文件

Git 允许我们一次添加所有相同模式的文件。 这是将多个文件一起添加的另一种方法。 假设我要添加所有 java 文件或文本文件,那么我们可以使用模式 .java 或 .txt。 为此,我们将运行如下命令

上面的命令将暂存所有 Java 文件。 相同的模式将应用于文本文件。

添加文件后的下一步是提交以在 Git 上共享它。

Git 撤消添加

我们可以撤消 git add 操作。 但是,它不是 git add 命令的一部分,但我们可以通过 git reset 命令来完成。

要撤消添加操作,请运行以下命令

要了解有关 git reset 命令的更多信息,请访问 Git Reset


下一个主题Git 提交