git 回退了,后悔又回退回去
原因:开发中提交了,发现错误,回退
本地仓库版本回退
git reset [--soft | --mixed | --hard] [HEAD] #回退,默认为--mixed
--soft ,已经add的暂存区以及工作空间的所有东西都不变。
PS:就是撤销我的commit,即未做commit操作
--mixed,默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
PS:已经add的暂存区会丢失掉,工作空间的代码什么的是不变的。我测试过了,就是仅仅取消追踪,我工作区修改的代码没影响
--hard,撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。 那么一切就全都恢复了,
PS:aad的暂存区消失,代码什么的也恢复到以前状态。我测试过了,就是取消追踪,我工作区修改的恢复到我上一次提交的版本,之前commit提交到本地仓库的也会删掉,换句话说新写的代码等于没写,删了的等于没了
$ git reset --soft HEAD #回退到指定版本
$ git reset --soft HEAD~3 # 回退上上上一个版本
$ git reset --hard HEAD~3 # 回退上上上一个版本
$ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一样
只要提交过就是安全的
先看看情况
项目目录\.git\logs\refs\heads\分支名称 打开看看 这都成功后的总结了,所以下面有合并分支的记录
cmd查看
git reflog 分支名
git checkout distribution@{1}
git reset --hard distribution@{1}
git status
git checkout -b distribution_1
git checkout distribution
git merge distribution_1
过程
先定位到要回退到的版本
切换到要回退到的版本
创建新的分支
合并回之前版本
分类:
git
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?