如果你想更清晰地學習git,你必須要了解3個重要區域。
- 工作區:即開發者的工作目錄
- 暫存區:修改已被記錄,但尚未錄入版本庫的區域
- 版本庫:存儲變化日志及版本信息
當你在工作區進行開發工作時,git會記錄你的改動,此時,你使用git add指令,該工作區的內容會被加入到暫存區,你仍然可以對你提交的文件進行撤回操作,然后你使用git commit指令,暫存區的內容會被提交到版本庫。
每個文件/目錄發生的版本變化,我們都可以追溯,命令為 git log
常用格式:
git log 查看項目的日志
git log
git log . 查看本目錄的日志
至於每個命令的具體效果,可以試一試,看看打印信息。
如果感覺日志有點亂,可以輸入
git log --pretty=oneline
可以看到,我們對該項目進行了五次修改,形成了五個版本,現在,我們學習一下版本切換。
我們現在將版本回退到最初始的時候,輸入
git reset --hard HEAD^^^^
你想回退幾個版本就輸入幾個"^"符號。
這個時候版本就被回退到了初始時候,你可以回去看看你的工作目錄,看看是不是回到了我們最開始時候的工作狀態。
該指令只能用來回退版本,而且它不能清楚地知道指針的指向。所以我們用版本號來進行版本的切換。
版本號很長,但是我們不需要寫出全部的版本號,只需要你寫的版本號與別的版本不一致就可以。
我們輸入
git reset --hard 7255a
就切換到了我們的第四次提交。
那么接下來我把版本切換到最初始的版本。
我們輸入
git reset --hard aaf99
現在我們再輸入
git log --pretty=oneline
會發現,輸出日志的時候只顯示了第一次提交的日志,這樣其它次提交的版本號我就拿不到的,但是,我又想進行版本切換,該怎么辦呢?
我們可以輸入
git reflog
通過該條指令我們就可以獲得所有版本的版本號了。