快捷搜索: 王者荣耀 脱发

Git合并两次commit(重复push)为一次

一.场景说明: 本地修改好了代码,开开心心已经push到远程仓库后,结果发现本地居然有一个地方没有修改到! 这下只能重新提交咯…,但是按照最简单的方法本地重新add,然后commit,最后push.这样操作会导致最后有两条commit记录,根据开发规范,同一个issue的commit应该是一条! 二.解决步骤! 1.git pull拉取最新代码后,打开git log 发现我幸运的是最后一个commit的人(如果不是最后一次commit的情况下没有遇到过!) 2.确定好我是最后一个comit的前提下, git add 添加修改内容. 3.然后使 用git commit --amend 命令 该命令默认会打开vim编辑窗口,此时我不需要修改上一次的commit 信息,所以 q! 退出后即可.

4.最后重新按照正常的push命令push一次即可. ![在这里插入图片描述](https://img-blog.img.cn/20191224152129839.png 5.push完成后查看git log 发现只有一次commit 记录. ok!

补充: 场景二: push代码后,发现commit的message 不够完善, 场景为:当前push没有被远程merge,这个时候要修改commit的信息, 方法一: 可以使用 git commit --amend 在viw中修改,修改完成后, git push 到远程仓库. 风险: 存在风险,因为每次commit 都会生成一个不同的 commit id , 第二次 commit --amend 后生成的 id 变更了,可能会导致push出问题–未亲测. 方法二: git reset 后重新 commit 然后push ,此方法没有风险.

总结: git commit -m 命令可以合并多条commit信息为一条!

经验分享 程序员 微信小程序 职场和发展