git commit 命令

Git 基本操作Git 基本操作

git commit 命令将暂存区内容添加到本地仓库中。

1. git commit 命令的语法

1)提交暂存区的所有内容到本地本地仓库

git commit -m [message]

其中[message]可以是一些备注信息。

2)提交暂存区的指定文件到本地仓库

git commit [file1] [file2] ... -m [message]

3)直接提交暂存区的内容到本地仓库

git commit -a

-a 参数设置修改文件后不需要执行 git add 命令,直接来提交

2. 设置提交代码时的用户信息

提交代码前,我们需要先设置提交的用户信息,包括用户名和邮箱:

$ git config --global user.name 'aizws'
$ git config --global user.email admin@aizws.net

如果去掉 --global 参数只对当前仓库有效。

3. git commit 命令的范例

我们对 hello.php 的内容进行改动,然后将暂存区的内容修改,提交到本地仓库中。

我们使用 -m 选项,在命令行中提供本次提交的注释。

$ git add hello.php
$ git status -s
A  README
A  hello.php
$ git commit -m '第一次版本提交'
[master (root-commit) d32cf1f] 第一次版本提交
 2 files changed, 4 insertions(+)
 create mode 100644 README
 create mode 100644 hello.php
 

现在我们已经记录了快照。如果我们再执行 git status:

$ git status
# On branch master
nothing to commit (working directory clean)

以上输出说明我们在最近一次提交之后,没有做任何改动,是一个 "working directory clean",翻译过来就是干净的工作目录。

如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认会打开 vim。屏幕会像这样:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
# modified:   hello.php
#
~
~
".git/COMMIT_EDITMSG" 9L, 257C

如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许使用 -a 选项跳过这一步。

git commit -a

我们先修改 hello.php 文件为以下内容:

<?php
echo '编程教程:www.aizws.net';
?>

再执行 git commit 命令:

$ git commit -a -m '修改 hello.php 文件'
[master 71ee2cb] 修改 hello.php 文件
 1 file changed, 1 insertion(+)

Git 基本操作Git 基本操作

下一章:git rm 命令

git rm 命令用于删除文件。git 的本地数据管理分为三个区:工作区、暂存区、版本库。工作区的文件 git add 后到暂存区,暂存区的文件 git commit 后到版本库。git rm 命令:删除工作区文件,并且将这次删除放入暂存区。要删除的文件必须没有经过修改,也就是说和当前版本库文件的内容相同,否则将会失败。