• 送给git reset --hard 推送到远端的后悔药


    本地通过git reset --hard commitId  将版本会退到很久之前的版本

    并且执行了 git push origin HEAD --force 推到远端,想要撤销本次回退。

    此时git log 只能看到回退后版本之前的提交

    场景一的后悔药: 本地在回退之前进行过一次pull,代码是最新的

    git reflog 查看本地操作记录

    # git reflog
    7d630936e (HEAD -> test, origin/test) HEAD@{0}: reset: moving to 7d630936e363c47a0e82cdbcd11f5cf1244f85ad 20a92df60 HEAD@{1}: reset: moving to HEAD 20a92df60 HEAD@{2}: reset: moving to HEAD

    前面的7d630936e是提交id,可以通过再一次 git reset --hard 20a92df60 回退

    场景二的后悔药:本地在push之前代码不是最新的,通过git log、git reflog 都只能看到最近一次,其他的看不到了

    # git reflog remotes/origin/test
    7d630936e (origin/test) remotes/origin/test@{0}: update by push 
    c4d32bab6 remotes/origin/test@{1}: pull: fast-forward           
    ed81ec0ae remotes/origin/test@{2}: pull: fast-forward           
    38fb5a355 remotes/origin/test@{3}: pull: fast-forward           
    62658da57 remotes/origin/test@{4}: pull: fast-forward           
    6b021b2ea remotes/origin/test@{5}: pull: fast-forward           
    b3b769b0f remotes/origin/test@{6}: pull: fast-forward           
    39c523c0a remotes/origin/test@{7}: pull: fast-forward           
    85bd4b280 remotes/origin/test@{8}: pull: fast-forward           
    7d630936e (origin/test) remotes/origin/test@{9}: update by push 

    查看远端的操作日志,取最近一次正常提交commitId进行回退:git reset --hard c4d32bab6

    之后推送到远端:git push HEAD --force

      

  • 相关阅读:
    编码 原码 反码 补码
    java垃圾收集器与内存分配策略
    MYSQL 索引 性能优化
    jvm内存溢出性能调优
    JVM内存模型
    线程相关
    Java 设计模式
    synchronized 与 volatile
    ActivityGroup相关--getLocalActivityManager() 以及intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)用法
    [Android] Activity 重复使用
  • 原文地址:https://www.cnblogs.com/liwutao/p/13329802.html
Copyright © 2020-2023  润新知