需求; 準備把readme.txt回退到上乙個版本,也就是「add distributed」的那個版本
首先,git必須知道當前版本是哪個版本,在git中,用head
表示當前版本,也就是最新的提交3628164...882e1e0
(注意我的提交id和你的肯定不一樣),上乙個版本就是head^
,上上乙個版本就是head^^
,當然往上100個版本寫100個^
比較容易數不過來,所以寫成head~100
。
$ git reset --hard head^head is now at ea34578 add distributed看看readme.txt的內容是不是版本
add distributed
:
$ cat readme.txtgit is a distributed version control
system.git is free software.
$ git reset --hard 3628164
版本號沒必要寫全,前幾位就可以了,git會自動去找。當然也不能只寫前一兩位,因為git可能會找到多個版本號,就無法確定是哪乙個了。
再小心翼翼地看看readme.txt的內容:
$ cat readme.txt
git is a distributed version control system.
現在,你回退到了某個版本,關掉了電腦,第二天早上就後悔了,想恢復到新版本怎麼辦?找不到新版本的commit id
怎麼辦?
$ git reflog
ea34578 head@: reset: moving to head^
ea34578 head@: commit: add distributed
cb926e7 head@: commit (initial): wrote a readme file
Git學習 版本回退
我們可能對某乙個檔案提交過很多版本,我們想檢視所有的歷史版本,可以通過如下 進行檢視。執行後,我們能夠看到所有的檔案所有提交過的歷史版本。所有版本按照時間倒序列出,從輸出結果能夠看到。該倉庫中提交過兩個版本,其中版本1寫了乙個readme的檔案,版本2在文末新增了gpl。我們還可以通過引數將輸出結果...
git學習 版本回退
像這樣,你不斷對檔案進行修改,然後不斷提交修改到版本庫里,就好比玩rpg遊戲時,每通過一關就會自動把遊戲狀態存檔,如果某一關沒過去,你還可以選擇讀取前一關的狀態。有些時候,在打boss之前,你會手動存檔,以便萬一打boss失敗了,可以從最近的地方重新開始。git也是一樣,每當你覺得檔案修改到一定程度...
Git版本回退
1 檢視檔案修改歷史 git log 返回的是commit後的操作記錄 git log pretty oneline 也可以使用這個命令格式化日誌輸出 2 版本回退 git reset hard head 回退到上乙個版本 git reset hard head 100 會退到第100個版本,例如現...