zoukankan      html  css  js  c++  java
  • 如何撤消当前提交

    Careful: git reset --hard WILL DELETE YOUR WORKING DIRECTORY CHANGES. Be sure tostash any local changes you want to keep before running this command.

    Assuming you are sitting on that commit, then this command will wack it...

    git reset --hard HEAD~1
    

    The HEAD~1 means the commit before head.

    Or, you could look at the output of git log, find the commit id of the commit you want to back up to, and then do this:

    git reset --hard <sha1-commit-id>
    

    If you already pushed it, you will need to do a force push to get rid of it...

    git push origin HEAD --force
    

    However, if others may have pulled it, then you would be better off starting a new branch. Because when they pull, it will just merge it into their work, and you will get it pushed back up again.

    If you already pushed, it may be better to use git revert, to create a "mirror image" commit that will undo the changes. However, both commits will be in the log.


    FYI -- git reset --hard HEAD is great if you want to get rid of WORK IN PROGRESS. It will reset you back to the most recent commit, and erase all the changes in your working tree and index.


    Lastly, if you need to find a commit that you "deleted", it is typically present in git reflog unless you have garbage collected your repository.

    http://stackoverflow.com/questions/1338728/delete-commits-from-a-branch-in-git

  • 相关阅读:
    好好的Timer居然有坑?
    你竟然用Integer作为synchronized的锁对象?
    是时候了解Java Socket底层实现了
    带你了解MyBatis一二级缓存
    Java利用反射排序
    用代码移动桌面图标(贪吃蛇)
    servlet上传文件+上传进度显示
    简书导航栏实现
    iPhone手机屏幕尺寸(分辨率)
    iOS深拷贝浅拷贝
  • 原文地址:https://www.cnblogs.com/softidea/p/5488360.html
Copyright © 2011-2022 走看看