git回退
在利用git实现程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子--回退(reset)。
摘自:https://blog.csdn.net/yxlshk/article/details/79944535
二、背景知识
git的版本管理,及HEAD的理解
使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么只有一条时间线,即只有一个分支,在Git里,这个分支叫主分支,即master分支。有一个HEAD指针指向当前分支(只有一个分支的情况下会指向master,而master是指向最新提交)。每个版本都会有自己的版本信息,如特有的版本号、版本名等。如下图,假设只有一个分支:

三、解决方法
方法一:git reset
原理: git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本一:

适用场景: 如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。
具体操作:
- 查看版本号:
 可以使用命令“git log”查看:
 ![]() 
也可以在github网站上查看:

- 使用“git reset --hard 目标版本号”命令将版本回退:
 ![]() 
再用“git log”查看版本信息,此时本地的HEAD已经指向之前的版本:

==============================================================================================
git reset --hard HEAD 表示回退到当前版本,HEAD指向当前版本。如果你修改了一些代码,想去除,就可以用git reset --hard HEAD一次性去除。
git reset --hard HEAD^ 表示回退到上一个版本
git checkout commit id  也可以回退到指定的版本(之前的提交还在)
 
                    
                


 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号