背景:
我在工作區(qū)新建了一個(gè)日記.md文件,每次修改并提交了三次姨俩,每次都增加一句話蘸拔,如下圖:
如果我想看看我的三次提交記錄該怎么辦呢师郑?
使用git log,查看提交記錄
從上到下依次顯示由新到舊的提交記錄调窍,
紅框內(nèi)的一長(zhǎng)串?dāng)?shù)字英文字母是commit的ID號(hào)碼呕乎;
紅框內(nèi)的“舍不得買”是提交信息;
ctrl + c
可以退出這個(gè)歷史記錄區(qū)陨晶,回到命令行區(qū)如果感覺信息太多,想看縮略版帝璧,那就加上
--pretty=oneline
看先誉,只剩下ID號(hào)和提交信息了,簡(jiǎn)潔了很多:
我們每提交一次的烁,git就會(huì)記錄一次褐耳,這就好比我們玩游戲時(shí)的存檔。下圖是Git GUI 里面的的記錄歷史渴庆,和命令行git log
的記錄其實(shí)是一樣的铃芦。
要開始版本退回了
現(xiàn)在我們所處的版本是舍不得買
,也就是GUI中的黃點(diǎn)
現(xiàn)在想退回到前一個(gè)版本鍵盤很貴
襟雷,應(yīng)該怎么做呢刃滓?
在Git中,HEAD
代表當(dāng)前的版本的ID號(hào)耸弄,HEAD^
代表當(dāng)前版本的上一個(gè)版本咧虎,當(dāng)前版本之前的第N個(gè)版本就是 HEAD~N
。我們可以使用git reset
命令回退版本计呈。
git reset --hard HEAD^
現(xiàn)在當(dāng)前版本號(hào)變成了
鍵盤很貴
砰诵,到底變了么?我們來驗(yàn)證一下捌显,打開日記.md看看內(nèi)容不就知道了么茁彭。
很神奇!7鐾帷@矸巍!我們退了回去击罪,文件內(nèi)容變成了上一個(gè)版本的內(nèi)容哲嘲。
git log
我們?cè)倏纯刺峤蝗罩景伞?br>
最新的commit
也變成了鍵盤很貴
GUI上的
舍不得買
也消失了,鍵盤很貴
左邊的小點(diǎn)變成了黃色,變成了最新的存檔媳禁。現(xiàn)在又有一個(gè)問題眠副,我后悔了,我想還原舍不得買
怎么辦竣稽?這個(gè)也簡(jiǎn)單囱怕,只要我們沒有關(guān)閉窗口霍弹,再回去找到舍不得買
的ID,再git reset
就OK了娃弓,注意ID不用全部復(fù)制典格,前七位就行。
但是如果台丛,我是關(guān)了電腦睡了一覺才后悔不想改了呢耍缴,要怎么找到舍不得買
的ID?
當(dāng)然有辦法挽霉,使用git reflog
總結(jié)
1.HEAD
是當(dāng)前的版本ID防嗡,使用git reset --hard 版本ID
就可以回到對(duì)應(yīng)的版本;
2.git log
可以查看提交日志侠坎;
3.git reflog
可以查看已經(jīng)不存在的版本ID蚁趁;