• 撤销git commit --amend的操作


    场景:

    我把两个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分支上就可以了

    另外,如果一个commit被amend了很多次,同样可以采用git reset --soft HEAD@{n}的方式回退到任意一个提交。【可以使用git show 后接git reflog显示的commit id 来查看修改是不是刚amend的修改。】

    可以看出,不光是amend可以这样,其它操作也可以采用这种方式撤销掉。

  • 相关阅读:
    Vue监视数据的原理
    JS 获取随机数
    Vue中的计算属性(computed)、方法(methods)、watch(侦听)
    Vue3中使用调试工具 Vue.js Devtools
    Vue3.X 新特性 Composition Api
    vue、js 保留小数点位数以及转化为百分比
    常用的网页布局之列表页
    CSS常见布局技巧
    2、C#入门第2课
    1、C#入门第一课
  • 原文地址:https://www.cnblogs.com/zndxall/p/14011569.html
Copyright © 2020-2023  润新知