- 第 121 篇 -
Date: 2025 - 09 - 06
Author: 鄭龍浩(仟墨)
文章目錄
- Git reset 回退版本
- 1 介紹三種命令區別
- 3 驗證三種的區別
- 3 如果不小心`git reset --hard`將「工作區」和「暫存區」中的內容刪除,剛才的記錄找不到了,怎么辦呢?
Git reset 回退版本
學習的網課:
https://www.bilibili.com/video/BV1HM411377j?spm_id_from=333.788.player.switch&vd_source=2683707f584c21c57616cc6ce8454e2b&p=6
1 介紹三種命令區別
git reset –-soft
保留「工作區」,保留「暫存區」git reset --hard
清除「工作區」,清楚「暫存區」git reset --mixed
保留「工作區」,清除「暫存區」
3 驗證三種的區別
流程如下:
- 新建文件夾
repo
,創建三個文件,并分三次依次提交 - 將repo復制三遍,分別驗證三種命令的區別
步驟如下
① 在空目錄(文件夾) git-practice-2 中創建本地倉庫
git init
② 在該目錄中創建三個文件,并且分三次提交到本地倉庫 && 查看每次提交的ID
創建三個文件
分別提交
查看提交ID
③ 將該倉庫復制三遍,依次為 git-practice-soft,-hard,-mixed
如何復制?
第二個要粘貼到的路徑所指的文件夾必須是不存在的,否則使用這個方法無法拷貝到這個路徑
git clone "要復制倉庫的路徑" "粘貼到的路徑"
這是現在所有倉庫
④ 查看提交歷史,獲取commit id
以下都回退到「第2次」提交歷史
④ 對 git-practice-soft 本地倉庫執行 git reset –-soft
命令 && 查看「提交記錄」「暫存區」「工作區」「文件內容」有什么變化
git reset –-soft
保留「工作區」,保留「暫存區」
回退到第2次提交
查看提交記錄是否發生變化
查看工作區、暫存區、文件內容中file3,txt是否發生改變
⑤ 對 git-practice-hard 本地倉庫執行 git reset –-hard
命令 && 查看「暫存區」與「工作區」有什么變化
git reset --hard
清除「工作區」,清楚「暫存區」
操作同上:
⑥ 對 git-practice-mixed 本地倉庫執行 git reset –-mixed
命令 && 查看「暫存區」與「工作區」有什么變化
git reset --mixed
保留「工作區」,清除「暫存區」
指令同上:
3 如果不小心git reset --hard
將「工作區」和「暫存區」中的內容刪除,剛才的記錄找不到了,怎么辦呢?
可以使用 git reflog
命令可以查看「工作區」和「暫存區」的所有修改內容
然后在使用上面的回退版本的命令,找到file3.txt文件,然后回退到提交file3的版本即可