git commit 主要是将暂存区里的改动给提交到本地的版本库(把stage
中的修改保存到「提交历史」commit history
中,HEAD
指针指向的位置)。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫 commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里。
指令
$ git commit -m '一些描述'
这种是比较常见的用法。message即是我们用来简要说明这次提交的语句。如果不加 -m 参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message。
$ git commit -amend
如果我们不小心提交了一版我们不满意的代码,并且给它推送到服务器了,在代码没被merge之前我们希望再修改一版满意的,而如果我们不想在服务器上abondon,那么我们怎么做呢?
git commit –amend 也叫追加提交,它可以在不增加一个新的commit-id 的情况下将新修改的代码追加到前一次的commit-id中。
风险等级:无风险
理由:不会改变任或撤销任何已作出的修改,而且还会将stage
区的修改加入history
区并分配一个 Hash 值。只要不乱动本地的.git
文件夹,进入history
的修改就永远不会丢失。