Git提交文件(git commit)

Git提交文件(git commit)教程

git commit 命令主要是将暂存区里的改动提交到本地的版本库。每次使用 git commit 命令我们都会在本地版本库生成一个 40 位的哈希值,这个哈希值也叫 commit-id。

commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与 git reset 的组合命令回到这里。

Git提交文件(git commit)详解

功能

将暂存区里的改动提交到本地的版本库。

语法

git commit [options]

参数

参数 描述
options git commit 命令使用的参数。

git commit命令常用实例

实例

实例 描述
git commit -m “message” 提交到版本库,并指定提交信息。
git commit -a -m “message” -a 参数表示,可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过 git add 添加到暂存区。
git commit --amend 追加提交,它可以在不增加一个新的 commit-id 的情况下将新修改的代码追加到前一次的 commit-id 中。

提交到版本库

语法

git commit -m "message"

案例

我们首先,修改本地的文件,接着使用 git add 命令,追踪修改的文件,具体命令如下:

git add .

执行完毕后,如下图所示:

23_git提交文件git commit详解.png

现在,我们使用 git status 命令,查看当前工作区的状态,具体命令如下:

git status

执行完毕后,如下图所示:

24_git提交文件git commit详解.png

我们看到,此时已经追踪了所有文件,现在,我们使用 git commit 命令,提交该文件,具体命令如下:

git commit -m "first commit"

执行完毕后,如下图所示:

25_git提交文件git commit详解.png

现在,我们再次使用 git status 命令,查看文件状态,具体命令如下:

git status

执行完毕后,如下图所示:

26_git提交文件git commit详解.png

我们看到,此时已经没有未提交的文件了,即,我们使用了 git commit 命令提交了文件,同时,我们可以使用 git log 命令,查看提交记录,具体命令如下:

git log

执行完毕后,如下图所示:

27_git提交文件git commit详解.png

我们看到,显示了我们提交的日志。

追踪并提交到版本库

语法

git commit -am "message"

案例

我们首先,修改本地的文件,并使用 git status 命令查看文件状态,具体命令如下:

git status

执行完毕后,如下图所示:

28_git提交文件git commit详解.png

现在,我们不需要使用 git add 命令,追踪修改的文件,而直接使用 git commit 命令,追踪并提交文件,具体命令如下:

git commit -am"New Add and Commit"

执行完毕后,如下图所示:

29_git提交文件git commit详解.png

我们看到,这次,我们没有使用 git add 命令,而是直接使用了 git commit -am 一次性追踪并提交文件。

修改提交记录

语法

git commit --amend

案例

我们首先,使用 git log 命令,查看本地的 git 日志,具体命令如下:

git log

执行完毕后,如下图所示:

30_git提交文件git commit详解.png

现在,我们使用 git commit --amend 命令,修改提交日志,具体命令如下:

git commit --amend

执行完毕后,如下图所示:

31_git提交文件git commit详解.png

我们看到,此时,打开了 vim,我们可以编辑提交日志,我们编辑完毕后保存并退出,现在,我们再次使用 git log 命令,查看日志,具体命令如下:

git log

执行完毕后,如下图所示:

32_git提交文件git commit详解.png

我们看到,日志已经被修改了。

Git提交文件(git commit)总结

git commit 命令主要是将暂存区里的改动提交到本地的版本库。每次使用 git commit 命令我们都会在本地版本库生成一个 40 位的哈希值,这个哈希值也叫 commit-id。

commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与 git reset 的组合命令回到这里。