作者:贪婪黑夜面_780 | 来源:互联网 | 2023-10-12 09:05
场景:我把两个sh文件执行gitcommit--amen追加到了最后一次提交,但是我的最后一次提交已经是merge的状态了,我不想加在这条提交后面,但是这两个sh的修改我还是要的,
场景:
我把两个sh文件执行git commit --amen 追加到了最后一次提交,但是我的最后一次提交已经是merge的状态了,我不想加在这条提交后面,但是这两个sh的修改我还是要的,我想单独做一个提交推到gerrit上。
执行git reflog看到如下:
[root@bogon build_scripts]# git reflog
e5e140f HEAD@{0}: commit (amend): 整理bat脚本的格式
b8e484f HEAD@{1}: pull: Fast-forward
bdd9e33 HEAD@{2}: reset: moving to HEAD~3
7cfb852 HEAD@{3}: pull: Merge made by the 'recursive' strategy.
看到最上面那条带(amend)之前的最后一条:b8e484f HEAD@{1}: pull: Fast-forward 对应的操作就是HEAD@{1},如果提交还想要,就执行git reset --soft HEAD@{1}就可以撤销掉最后的git commit --amend的操作,如下:
然后再执行git commit 加描述,执行git push origin HEAD:refs/for/master推到gerrit的master分支上就可以了