使用 git commit --amend 修改历史 commit 信息

在一些受管控的项目上,提交代码到 git 服务器后,还须要通过审核确认才正式合入版本,通常经常使用 gerrit 来进行审核确认操做。git

若是提交的代码审核不经过,须要再次修改提交。因为是修改同一个问题,咱们可能不但愿生成多个 commit 信息,会显得改动分散,看起来改动不完善,因此想要在本地已有的 commit 信息上再次提交改动,而不是在已有的 commit 上再新增一个 commit。服务器

使用 git commit --amend 命令能够达到在现有最新 commit 上再次提交改动的效果。code

在本地提交改动后,咱们再次修改代码,执行 git add 命令添加改动,若是执行 git commit -m 命令,默认会建立新的空 commit 信息,填写相应的修改说明,提交以后,会新增一个 commit 信息;而执行 git commit --amend 命令会弹出当前最新 commit 的信息,咱们能够修改这个信息,也能够不修改,提交以后,用 git log 命令查看,会看到没有增长新的 commit,原先 commit 的 hash 值也没有变,这一次的修改是跟以前的修改一块儿提交的。ip

查看 man git-commit 对 --amend 选项的关键说明以下:hash

--amend
Replace the tip of the current branch by creating a new commit.it

即,--amend 选项建立一个新的 commit 来替换当前最新的 commit,如同当前最新的 commit 信息被修改了同样。项目

相关文章
相关标签/搜索