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

过程

先定位到要回退到的版本
切换到要回退到的版本
创建新的分支
合并回之前版本

posted on 2023-03-07 11:21  何苦->  阅读(226)  评论(0)    收藏  举报

导航