Git 使用技巧--撤销修改

先贴上原文地址:https://blog.csdn.net/lxzcaicai/article/details/104712128

今天使用Git的时候已经把修改的内容提交过工作区了,但是发现提交前分支忘记切换了,所以就在网上找了一下撤销的方法,在这里做一下记录。

1、未使用git add 的时候----在工作区
1
2
3
4
5
git checkout -- filepathname //放弃修改某个文件
例如: git checkout -- readme.md
git checkout .  //放弃所有修改的文件
 
git restore . //放弃所有修改的文件
2、已经使用git add 的时候----在暂存区
1
2
3
4
5
6
git reset HEAD filepathname //恢复某个文件到工作区
例如: git reset HEAD readme.md
git reset HEAD . //恢复所有文件到工作区
git  reset  //恢复所有文件到工作区
 
注意:这里只是恢复到了工作区,如果想放弃修改的代码还需要执行步骤1(工作区)中的操作
3、已经使用git commit提交的了代码----在版本区(本地仓库)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、如果你想全部撤回并回到远程仓库最新的状态(不保存代码修改)
    1、git reset --hard HEAD^ //回退上一次commit的状态
        //或git reset --hard commit_id //回退某个版本+id号就行
    2、git pull //拉取一下远程最新的
2、如果你想拉回工作区并保存修改。只撤销 commit 和 add(保存代码修改)
        git reset --mixed HEAD^
        
        git reset HEAD^
3、如果你想撤销commit 但是不撤销 add(保存代码修改)
        git reset --soft HEAD^ //只撤销了git commit , 修改后的代码还在暂存区
4 、终极版,由于你太懒,不管是暂存区,版本区,你只想撤销修改并回到远程最新的版本(不保存代码修改)
    1 、git fetch --all
    2、git reset --hard origin/master //git reset --hard origin/远程分支名
    注意:这里只在暂存区和版本区
4、如果你git push 到了远程分支,这时候你后悔了怎么办
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
胆小误试,搞之前记得做备份
第一种
回滚远程分支的最近一次提交
git revert HEAD
git push origin 分支名
例如:我刚在master分支提交了一次
   git revert HEAD
   git push origin master
慎用啊~~~这种方式会在远程生成一个版本号
 
第二种
git reset --hard HEAD^ //回退上一个版本
git reset --hard commit_id //回退到某个版本 id就是你的版本号
git push origin HEAD --force //强制推送到远程,可能会受到保护
posted @   晋予de博客  阅读(454)  评论(0编辑  收藏  举报
编辑推荐:
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
阅读排行:
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
· 一文搞懂MCP协议与Function Call的区别
· 如何不购买域名在云服务器上搭建HTTPS服务
点击右上角即可分享
微信分享提示