跟踪文件(添加文件到暂存区)
git add <文件名>
git add . # 添加当前目录的所有更改
提交更新
git commit
提交更新之前,要确认修改或新建的文件是否已经放入暂存区( git add
),然后再运行该指令。
运行 git commit
之后,会启动文本编辑器,以便输入本次提交的说明文字。
$ git commit
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is up to date with 'origin/main'.
#
# Changes to be committed:
# modified: hello.js
# modified: test.js
# new file: test1.js
#
# Changes not staged for commit:
# modified: hello.js
#
# Untracked files:
"~/test/.git/COMMIT_EDITMSG" 18L, 398B
开头第一行是空行,输入提交说明。
如果使用的是默认编辑器,那么在输入提交说明之后,按键盘 Esc
,再按 Shift + ;
,输入 wq
保存退出即可。
在命令行添加提交说明
在 git commit
命令行后添加 -m 选项,就可以将提交说明一并提交。
$ git commit -m 'feat: test git'
跳过存入暂存区
如果想跳过 git add
这个步骤,在提交的时候,给 git commit
加上 -a 即可,如此一来,Git 就会把所有已跟踪文件暂存起来并且提交。
$ git commit -a
-m 和 -a 也可以一起使用。
$ git commit -am 'feat: test git'
重新提交
git commit --amend
以下三种情况比较适合使用重新提交指令:
- 修改最后一次提交的代码:添加、删除或修改之前提交的文件,将这些修改添加到最后的提交记录中,而不是新增提交记录。
- 修改最后一次提交的提交信息。
- 如果最近几次提交都是息息相关的内容,那么可以使用该指令将它们合并为一个提交。
$ git commit --amend
test
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Thu Jan 25 19:52:13 2024 +0800
#
# On branch main
# Your branch is up to date with 'origin/main'.
#
# Changes to be committed:
# modified: hello.js
# modified: test.js
# new file: test1.js
# new file: test2.js
#
"~/test/.git/COMMIT_EDITMSG" 16L, 376B
执行 git commit --amend
之后,会启动文本编辑器,第一行就是最后一次的提交信息,如果本次提交进行修改保存,那么就会替换这条信息。
Changes to be committed 下面是我们想要重新提交的文件列表,提交之后,本次提交将替代上一次提交的结果,而最终只会有一个提交。