一)本地分支版本回退的方法
![](https://box.kancloud.cn/01dfad63ad2fdbb23bbb80518bd5fae7_700x524.png)
前提:已经执行了git commit提交到本地仓库,但是还没有git push到远程仓库,可以用以下命令回退
回退到上一个版本:
git reset --hard HEAD^
回退到指定版本
[root@static yyg]# git log --oneline ----》查看commitID号
5c89e15 delete file
f1ced32 add uu.html
032c562 add tt ll
1ed7eb8 add ee ff
5b4fdda modify 01 index.html
4cc54a8 modify 01 app.html
001d7c6 modify app.html
cf8c333 modify app.html
827c7ef add app.html
07ea95a add index.html
66f0c74 add b.html
e76d252 add a.html
51d123f first commit
[root@static yyg]# git reset --hard f1ced32---》版本回退到指定commit版本
HEAD is now at f1ced32 add uu.html
3)git reflog的作用
当你提交了好多版本,比如commit1,commit2,commit3,commit4等,此时你回退到版本commit2,当你明天的时候,你突然想回退到commit3,你通过git log --oneline就看不到,此时就可以通过执行git reflog查看咯
[root@static yyg]# git reflog
f1ced32 HEAD@{0}: reset: moving to f1ced32
5c89e15 HEAD@{1}: reset: moving to 5c89e15
c5a49ff HEAD@{2}: pull: Fast-forward
5c89e15 HEAD@{3}: reset: moving to 5c89e15
c5a49ff HEAD@{4}: commit: add bb.html
84e76c6 HEAD@{5}: commit: add aa.html
5c89e15 HEAD@{6}: commit: delete file
f1ced32 HEAD@{7}: commit: add uu.html
032c562 HEAD@{8}: checkout: moving from 319c1b8a326f14298ed414d4eb6f1cef07136c4c to master
319c1b8 HEAD@{9}: commit: add uu
032c562 HEAD@{10}: checkout: moving from 5b4fddaf0ac117a0c71c93fbe5957b343946845c to 1.2
5b4fdda HEAD@{11}: checkout: moving from 032c562fa7cd2c5f476c7041288bedf48b3c82cf to 1.0
032c562 HEAD@{12}: checkout: moving from master to 1.2
032c562 HEAD@{13}: commit: add tt ll
1ed7eb8 HEAD@{14}: commit: add ee ff
5b4fdda HEAD@{15}: commit: modify 01 index.html
4cc54a8 HEAD@{16}: commit: modify 01 app.html
001d7c6 HEAD@{17}: commit: modify app.html
cf8c333 HEAD@{18}: commit: modify app.html
827c7ef HEAD@{19}: commit: add app.html
07ea95a HEAD@{20}: commit: add index.html
66f0c74 HEAD@{21}: clone: from gitlab@git.91als.net:root/yyg.git
[root@static yyg]#
二)自己的远程分支版本回退的方法
如果把错误提交已经推送到远程分支咯,那么就需要回退远程分支
1)git reflog 查看commitid
2)[root@static yyg]# git reset --hard 51d123f
3)强制推送到远程分支
[root@static yyg]# git push origin master -f
(注意:如果远程仓库的有问题,个人建议直接找到这个错误提交是谁提交到远程的,然后其修改本地的代码,然后重新提交一份到远程仓库里)
- 第一部分:Git的基本操作
- 第一章:git软件的安装
- 第一节:在centos6.8上安装git-2.3
- 第二节:在windows上安装git-bash和TortoiseGit软件
- 第二章: Git的基本概念
- 第一节:git的基本操作
- 第二节:git的深入理解(内部运行机制)
- 第三章:git的文件管理
- 第一节:文件的添加及提交
- 第二节:文件的删除、回退等
- 第三节:忽略指定格式的文件
- 第四节:撤销本地仓库的修改
- 第四章:git的commit对象深入理解
- 第一节:查看提交历史(git log)
- 第二节:提交查找(git grep)
- 第三节:git版本库回退
- 第五章: Git分支管理
- 第一节:分支的概念及基本使用
- 第二节:Git分支管理策略
- 第三节:Git分支合并
- 第四节:推送本地分支到远程分支
- 第七章: Git常用命令详解
- 第一节:git fetch命令
- 第二节:git pull命令
- 第三节:git push命令
- 第四节: git merge命令
- 第五节:git rebase命令
- 第八章:远程仓库管理
- 第二部分: gitlab版本控制系统
- 第一节:"远程仓库”版本回退解决方案
- 第二节:远程分支和本地分支
- 第九章:Git冲突解决
- 第十章:客户端操作
- 第十章:git常规操作
- 第一章:安装gitlab服务器
- 第一节:在centos系统上安装
- 第二章:配置GitLab服务器
- 第一节:关闭gitlab注册功能
- 第二节:在gitlab上创建项目、组、用户
- 第三节:汉化gitlab
- 第四节:gitlab配置邮箱通知
- 第五节:gitlab配置https访问
- 第三章:使用过程常见的故障
- 第三部分: gogs版本控制系统
- 第一章:在centos6上基于二进制包安装gogs软件
- 第二章:gogs服务器的配置
- 第一节:gogs服务器上创建项目、用户
- 第二节:nginx反代gogs,通过https
- 第三节:gogs启动脚本
- 第四节:git保存密码到本地
- 第三章:gogs服务器的备份和恢复
- 第一节:gogs备份操作