GIT撤销修改

作者:matrix 被围观: 171 次 发布时间:2022-04-01 分类:Linux | 3 条评论 »

撤销本地修改

本地代码仅是修改,还未做任何提交(add/commit操作)

$ git checkout file_name_path_1  file_name_path_2 file_name_path_3...  #撤销指定文件的修改
$ git checkout .   #撤销所有文件的修改

git checkout会直接还原修改的文件到仓库版本

撤销add

$ git reset HEAD file_name_path1  #指定还原文件的add操作

$ git reset HEAD #还原所有文件

撤销commit

已经commit提交,没有push到远端

#修改(替换)掉上次的commit
$ git commit --amend -m "Fix bug #42" 

#撤销commit操作(保留修改)
$ git reset HEAD^  #回到上一提交版本

#撤销commit操作(放弃修改)
$ git reset --hard HEAD^

#手动reset 版本id
$ git reset [--soft|--mixed|--hard]   COMMIT_ID  #COMMIT_ID为需要还原到的正确版本(正确要保留的版本)

--mixed 会保留源码,只是将git commit和index 信息回退到了某个版本.

--soft 保留源码,只回退到commit信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.

--hard 源码也会回退到某个版本,commit和index 都会回退到某个版本.(注意,这种方式是改变本地代码仓库源码)

撤销push

还原已提交push的修改,本质是新增commit提交

方法1 还原指定版本的修改:

$ git revert COMMIT_ID #COMMIT_ID为需要撤销的版本(丢弃不要的版本)
$ git push #再执行推送

方法2 硬删除之后的所有提交:

$ git reset --hard COMMID_ID #最近提交需要的版本(删除之后的所有提交)
$ git push -f

http://www.ruanyifeng.com/blog/2019/12/git-undo.html

http://blog.csdn.net/zhangkongzhongyun/article/details/8025288

https://www.cnblogs.com/wuyun-blog/p/10026363.html

https://www.jianshu.com/p/37f3a7e4a193

其他文章:
本文固定链接:https://www.hhtjim.com/git-file-undo-changes.html
matrix
本文章由 matrix 于2022年04月01日发布在Linux分类下,目前没有通告,你可以至底部留下评论。
转载请注明:GIT撤销修改-HHTjim'S 部落格
关键字:

有3 条评论 »

  1. wookaooo wookaooo 2022-5-8 9:50:07 +0800#1

    老哥 你的ssl证书是不是过期了 https://link.hhtjim.com/kw/218722495.mp3

    • matrix matrix Moderator 2022-5-10 0:50:09 +0800

      续了 续了 😆 😆

    • matrix matrix Moderator 2022-5-10 0:51:24 +0800

      没有强制跳转https。
      这样也可以访问的
      http://link.hhtjim.com/kw/218722495.mp3

添加新评论 »

 🙈 😱 😂 😛 😭 😳 😀 😆 👿 😉 😯 😮 😕 😎 😐 😥 😡 😈 💡

插入图片

NOTICE: You should type some Chinese word (like “你好”) in your comment to pass the spam-check, thanks for your patience!