一)本地分支版本回退的方法

前提:已經執行了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備份操作