git 學習 2 恢復版本

2022-03-06 11:05:37 字數 2074 閱讀 7441

$ git log

commit fba77877d316436c1b774b8933380ebcac668040

author: keith date: fri jan 16 01:34:06 2015 +0800

add a git instance

commit 148ff70cb26b4805609ada5f95436e002490adb9

author: keith date: wed jan 14 04:14:20 2015 +0800

add good study

commit 69a629d7ec0e0c9f582fb26bb50e5974b18c55a3

author: keith date: tue jan 13 22:51:10 2015 +0800

create readme.txt file

如果我們嫌輸出資訊太多,可以加上--pretty=oneline

$ git log --pretty=oneline

fba77877d316436c1b774b8933380ebcac668040 add a git instance

148ff70cb26b4805609ada5f95436e002490adb9 add good study

69a629d7ec0e0c9f582fb26bb50e5974b18c55a3 create readme.txt file

這裡fba77877..8040commit id版本號,是通過sha1計算出來的乙個非常大的數字

$ git reset --hard head^

head is now at 148ff70 add good study

$ cat readme.txt

good git

git is a file version control system

good good study

可以看出已經回到上乙個版本,那如何在返回原來的版本呢

$ git reset --hard fba77877

head is now at fba7787 add a git instance

$ cat readme.txt

good git

git is a file version control system

good good study

git git=new git();

這裡的commit id不需要輸入全部,不過也不能太少,不然git會無法確定是那乙個,head指向commit id直接會返回到這個版本號。這些版本號git都是有記錄的,我們通過git reflog來查詢輸入的命令,可以指向我們要返回的commit id

$ git reflog

fba7787 head@: reset: moving to fba77877

148ff70 head@: reset: moving to head^

fba7787 head@: commit: add a git instance

148ff70 head@: commit: add good study

69a629d head@: commit (initial): create readme.txt file

$ git log --pretty=online//檢視提交的次數和commit id

$ git reset --hard head^ //回到上乙個版本

$ git reset --hard commit_id //返回某乙個commit_id 的版本

$ git reflog //檢視提交的命令

正確的步驟是 修改完後 使用git add命令,再提交,如果重新修改後沒有使用add命令,提交之後新修改的是不會提交的。

git 恢復版本

git log file 檢視版本號 git reset hard d756f627fe568f4d8bcf1852ba60557eeab477a5 版本號 首先,在確認需要進行版本還原以後,開啟git bash 輸入 例如 git reset hard d756f627fe568f4d8bcf18...

git恢復到master版本 Git恢復至之前版本

讓程式回到提交前的樣子 兩種解決方法 回退 reset 反做 revert 方法一 git reset 原理 git reset的作用是修改head的位置,即將head指向的位置改變為之前存在的某個版本 適用場景 如果想恢復到之前某個提交的版本,且那個版本之後提交的版本我們都不要了,就可以用這種方法...

網摘學習 Git版本恢復命令reset

參考 reset命令有3種方式 git reset mixed 此為預設方式,不帶任何引數的git reset,即時這種方式,它回退到某個版本,只保留原始碼,回退commit和index資訊 2.git reset soft 回退到某個版本,只回退了commit的資訊,不會恢復到index file...