Git Add命令
git add命令用于将文件内容添加到索引(暂存区)中。此命令将当前的工作树内容更新到暂存区,并准备好下一次提交的暂存内容。每次添加或更新项目中的任何文件时,都需要将更新转发到暂存区。
git add命令是Git技术的核心部分。通常情况下,它一次只添加一个文件,但也有一些选项可以一次添加多个文件。
“索引”包含工作树数据的快照。此快照将被转发到下一次提交。
在进行提交之前,可以多次运行git add命令。所有这些添加操作都可以放在一个提交的范围之下。add命令会添加通过命令行指定的文件。
git add命令默认不会添加.gitignore文件。实际上,我们可以通过这个命令忽略文件。
让我们了解如何在Git中添加文件:
Git add files
git add命令非常简单。它将文件添加到暂存区中。我们可以一次性添加一个或多个文件到暂存区中。命令如下:
$ git add <File name>
以上命令已添加到git的暂存区,但尚不能在版本控制系统中共享。需要进行提交操作才能共享它。让我们来理解下面的场景。
我们已经在 NewDirectory 中为我们新创建的仓库创建了一个文件。要创建文件,请使用以下命令:
$ touch newfile.txt
并通过”git status”命令检查状态是否为未跟踪:
$ git status
上面的命令将显示存储库中未跟踪的文件。这些文件可以添加到我们的存储库中。因为我们知道我们创建了一个新文件 newfile.txt,所以要将此文件添加到存储库中,请运行以下命令:
$ git add newfile.txt
请考虑以下输出:
从上面的输出中,我们可以看到 newfile.txt 已经被添加到我们的仓库中。现在,我们必须提交它以在Git上分享。
Git添加全部
我们可以在Git中添加多个文件,但是我们必须重复运行添加命令。Git为我们提供了一个独特的添加命令选项,可以一次性添加所有可用的文件。要从仓库中添加所有文件,请使用 -A 选项运行添加命令。我们可以使用’.’来代替 -A 选项。该命令将同时将所有文件添加到暂存区中。它将运行如下:
$ git add -A
或者
$ git add .
上述命令将添加存储库中的所有可用文件。考虑以下情况:
我们可以创建四个新文件,或者我们可以复制它,然后一次性添加所有这些文件。考虑以下输出:
在上面的输出中,所有的文件都显示为Git的未跟踪文件。要一次跟踪所有这些文件,请运行以下命令:
$ git add -A
以上命令将所有文件添加到暂存区。请记住, -A 选项区分大小写。请参考以下输出:
在上述输出中,所有文件都已添加。所有文件的状态显示为已暂存。
从暂存区中删除文件
git add命令也可用于从暂存区中删除文件。如果我们从仓库中删除了一个文件,则该文件在我们的仓库中将成为一个未跟踪的文件。使用add命令可以将其从暂存区中删除。听起来很奇怪,但Git可以做到。考虑以下情景:
我们已从仓库中删除了 newfile3.txt 文件。删除文件后仓库的状态如下:
$ git add newfile3.txt
请考虑以下输出:
从上面的输出中,我们可以看到文件已从暂存区中移除。
只添加所有新创建和更新的文件:
Git允许我们一次性将更新和新创建的文件添加到暂存区。我们将使用忽略删除选项来实现此操作。它的用法如下:
$ git add --ignore-removal .
添加所有已修改和已删除的文件
Git add提供了各种选项。Git还提供了另一个选项,允许我们仅将已修改和已删除的文件添加到暂存区,而不会添加新创建的文件。要仅将所有已修改和已删除的文件添加到暂存区,请运行以下命令:
$ git add -u
按通配符添加文件
Git允许我们一次性添加相同模式的所有文件。这是一种将多个文件一起添加的另一种方法。假设我想要添加所有的java文件或文本文件,我们可以使用模式.java或.txt。为了这样做,我们将运行以下命令:
$ git add *.java
上述命令将为所有Java文件暂存。同样的模式也适用于文本文件。
添加文件后的下一步是提交以在Git上共享。
撤销Git添加
我们可以撤销git add操作。然而,这不是git add命令的一部分,但我们可以通过git reset命令来实现。
要撤销添加操作,请运行以下命令:
$ git reset <filename>
了解有关git reset命令的更多信息,请访问Git Reset。