【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )
文章目錄
- 一、查看提交記錄 git log
- 1、查看詳細提交記錄
- 2、查看簡略提交記錄
- 二、版本回滾 git reset
- 1、Git 中的版本表示 HEAD~1
- 2、版本庫代碼回滾
- 三、撤銷回滾
- 1、查詢 git 操作 git reflog
- 2、撤銷回滾操作 git reset --hard dd0db50
一、查看提交記錄 git log
1、查看詳細提交記錄
在 Git 版本庫 中 , 可以查詢每一次 使用 git commit 命令的提交記錄 , 每次 git commit 提交都會保留一個快照 , 如果工程代碼弄壞了 , 可以嘗試從最近的一次 git commit 提交的快照進行恢復 ;
執行
git log命令 , 會顯示之前的提交記錄 , 排序由近及遠 ;
由打印的內容可以看出 , 最近的一次提交時 修改了 file2.txt 文件 ;
D:\Git\git-learning-course>git log commit dd0db50c74c065dc8ad569ec41267a9c881e7d7e (HEAD -> master) Author: hanshuliang <octopus_truth@163.com> Date: Wed Dec 8 11:31:48 2021 +0800modify file22、查看簡略提交記錄
執行
git log --pretty=oneline命令 , 可以查看簡略提交目錄 ;
執行過程 :
D:\Git\git-learning-course>git log --pretty=oneline dd0db50c74c065dc8ad569ec41267a9c881e7d7e (HEAD -> master) modify file2 63a9ef1a546c4d30c0e4f74ac2258b37bd585254 modify file1 72e82e0652ff454f83fa26e7ad186a74e69090e1 modify file4 5bcec31df6d485a957681f9f35b6d0461d19abf3 add 1 files f95c831c111e8fa4d79cbdacc6ea306cde399959 add 3 files f2f9a971bfc65c1067d8ee2907362c0b92a29fe6 (origin/master, origin/HEAD) Update README.md 5d7e8d4eee3def7d8e094fdee1508fb2e7b0c790 Initial commitD:\Git\git-learning-course>二、版本回滾 git reset
下圖是 Git 版本庫 最近的 git commit 提交 記錄 ;
1、Git 中的版本表示 HEAD~1
Git 中的版本表示 :
- HEAD 表示當前的版本 , 是 dd0db50c74c065dc8ad569ec41267a9c881e7d7e (HEAD -> master) modify file2 版本 , 當前版本 , 查詢出的第 111 個版本 ;
- HEAD~1 表示上一個版本 , 是 63a9ef1a546c4d30c0e4f74ac2258b37bd585254 modify file1 版本 , 往上 111 個版本 , 查詢出的第 222 個版本 ;
- HEAD~2 表示上上一個版本 , 是 72e82e0652ff454f83fa26e7ad186a74e69090e1 modify file4 版本 , 往上 222 個版本 , 查詢出的第 333 個版本 ;
- HEAD~3 表示上上上一個版本 , 是 5bcec31df6d485a957681f9f35b6d0461d19abf3 add 1 files 版本 , 往上 333 個版本 , 查詢出的第 444 個版本 ;
- HEAD~100 表示往上 100100100 個版本 , 是查詢出的第 101101101 個版本 ;
2、版本庫代碼回滾
執行
git reset --hard HEAD~1命令 , 就是往上回滾一個版本 , 回滾到 63a9ef1a546c4d30c0e4f74ac2258b37bd585254 modify file1 版本 , 這個版本中 file2.txt 不是空的 , 當前是有內容的 ;
執行回滾到上一個版本命令后 , file2.txt 文件中的內容消失 ;
三、撤銷回滾
1、查詢 git 操作 git reflog
執行
git reflog命令 , 可以查詢之前進行的 每一次 git 命令 ;
執行過程 :
D:\Git\git-learning-course>git reflog 63a9ef1 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1 dd0db50 HEAD@{1}: reset: moving to dd0db50 63a9ef1 (HEAD -> master) HEAD@{2}: reset: moving to HEAD~1 dd0db50 HEAD@{3}: reset: moving to dd0db50 72e82e0 HEAD@{4}: reset: moving to HEAD~1 63a9ef1 (HEAD -> master) HEAD@{5}: reset: moving to HEAD~1 dd0db50 HEAD@{6}: reset: moving to HEAD dd0db50 HEAD@{7}: reset: moving to HEAD dd0db50 HEAD@{8}: reset: moving to HEAD dd0db50 HEAD@{9}: commit: modify file2 63a9ef1 (HEAD -> master) HEAD@{10}: commit: modify file1 72e82e0 HEAD@{11}: commit: modify file4 5bcec31 HEAD@{12}: commit: add 1 files f95c831 HEAD@{13}: commit: add 3 files f2f9a97 (origin/master, origin/HEAD) HEAD@{14}: clone: from https://codechina.csdn.net/han12020121/git-learning-courseD:\Git\git-learning-course>2、撤銷回滾操作 git reset --hard dd0db50
上一步操作 , 是由 HEAD 位置指向了 HEAD~1 位置 ,
63a9ef1 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1可以重新撤銷回滾 , 恢復到回滾之前的狀態 ,
由
dd0db50 HEAD@{6}: reset: moving to HEAD可以知道 , HEAD 的版本號是 dd0db50 ;
執行
git reset --hard dd0db50命令 , 即可恢復成回滾之前的代碼狀態 ;
執行過程 :
D:\Git\git-learning-course>git reset --hard dd0db50 HEAD is now at dd0db50 modify file2D:\Git\git-learning-course>此時再查看 file2.txt 內容 , 發現內容恢復成了原來的樣子 ;
總結
以上是生活随笔為你收集整理的【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Git】Git 基础命令 ( 添加暂存
- 下一篇: 【Git】Git 版本管理 ( 补充提交