上篇博客已經介紹了初始化版本庫以及建立文件等操作,接下來讓我們繼續看如何新建、修改、提交、恢復歷史版本等操作命令。
查看文件的狀態git status
先讓我們來建一個簡單的tgb.txt文件,如下通過git add tgb.txt 、git commit -m "version10 tgb" tgb.txt 將文件提交到版本庫。
為了查看狀態明顯,我們再來修改一下tgb.txt這個文件,可以增加一行,如: love the world version1.0
在上面的步驟中我們通過 echo 、>> 兩個命令往tgb.txt文件的末尾添加了一行信息 ,然后 命令git status 查看了該文件的狀態,從顯示結果可以看出該文件被修改了但是還沒有提交。
沒有被提交的文件在暫存區里面,這里我們並不能夠看出提交了什么內容,如果想要看到提交了什么內容,還需要使用另外一個命令git diff (diffrence),如
當把tgb.txt文件都提交之后,我們通過git status命令查看文件狀態,顯示當前分支沒有可以提交的內容。
版本回退操作
當你修改了一個代碼文件或者錯誤的刪除了一些內容,有時候需要回退,正常人性化的軟件都會支持這些操作,在git里面照樣也支持,首先可以通過git log查看最近的提交的歷史版本有哪些,如下圖
上圖表示進行了四部操作,從最近操作排序,第一個是刪除了 git文件 第二步是添加了 “了love the world version2.0”…………,你想回歸到任何一個版本都是可以的,可以通過下面命令操作,例如想恢復到上一個版本。
在上面進行了恢復最近一個版本,可以刪除的git.txt文件又回來了,是不是很方便呢,解釋一下版本恢復命令: reset --hard HEAD^ ,表示上一個版本,HEAD^^,表示上兩個版本,簡寫形式 HEAD~10表示恢復到上10個版本,這里有個問題是我們更改過很多版本但是有時候我們並不知道哪個版本改了什么東西。
這個命令還可以用 commit_id當版本表示,如reset --hard HEAD commit_id ,
git如果恢復到某個歷史版本后,這個版本之前的狀態就會查詢不出來,為了還可以恢復到未來某個版本,我們需要查詢最近所做的操作,可以通過git reflog 命令,得到commit_id之后再通過reset命令來達到效果,如圖
總結: