在 test.txt 文件中添加一行内容 abc,提交至版本库
# 查看仓库状态
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: test.txt
# 暂存文件
$ git add test.txt
# 提交更改
$ git commit -m "Added abc to the test.txt"
[master d7f681f] Added abc to the test.txt
1 file changed, 1 insertion(+)
test.txt 文件已经被追踪了,为什么修改之后还需要使用
git add
重复操作?
在上一节中,我们已经使用 git add
命令告诉 Git 追踪 test 文件,并使用 git commit
保存到了版本库。按照常理,文件已经被系统接管,文件的状态会被识别,大可不必再次重复操作。
但实际情况是,当我们对一个已经被 Git 追踪的文件进行更改时,我们需要再次使用 git add
命令。这是因为 Git 对更改的追踪是基于内容,而不仅仅是文件。这意味着,当文件的内容发生更改时,Git 视这些更改为新的内容,并需要你明确地将这些新的更改添加到暂存区。
每次都需要执行暂存命令,有点繁琐,如果你希望跳过暂存区,直接将更改提交到版本库中,则可以使用以下命令:
git commit -a -m "Commit message"
在这个命令中,-a
选项参数表示自动将所有已修改的文件添加到暂存区中,并将其提交到版本控制系统中。这样就可以跳过将更改显式添加到暂存区的步骤,直接将所有更改一次性提交。
需要注意的是,在使用该命令时,只会将已修改的文件提交到版本控制系统中,而对于新添加的文件则不会生效。如果您要将新添加的文件也提交到版本控制系统中,则需要手动将其添加到暂存区(使用 git add
命令)或者使用 -a
选项参数的组合命令 git commit -am "Commit message"
,它相当于执行了 git add .
和 git commit
两个命令。
尽管跳过暂存区可能会使提交更加方便快捷,但建议在进行提交前仔细检查所做的更改并确保代码能够正常运行。 这样可以避免不必要的错误和引入不良代码。