当前位置:   article > 正文

如何覆盖上一次commit_Git如何在已有的 commit 上再次提交?

git覆盖之前的commit
0f99007f7a942b9e3ec850476cc8e686.png

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

如果提交的代码审核不通过,需要再次修改提交。由于是修改同一个问题,我们可能不希望生成多个 commit 信息,会显得改动分散,看起来改动不完善,所以想要在本地已有的 commit 信息上再次提交改动,而不是在已有的 commit 上再新增一个 commit。

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

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

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

--amend

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/493093
推荐阅读
相关标签
  

闽ICP备14008679号