今天寫一篇關於在linux中使用git修改了檔案後,進行版本的回溯。這裡在centos虛擬機器中安裝好git進行測試。
這裡修改的檔案是已經上傳到git倉庫中的檔案,在git倉庫中對這個檔案修改
原始檔如下:
修改以後如下:
我們在第一步修改了檔案後,按 esc 後輸入 :wq 儲存並退出,我們進入倉庫的路徑可以使用 diff 來看檔案修改的內容。
這裡給大家簡單講講這些內容的意思,diff --git a/hello.txt b/hello.txt中a/hello.txt就是之前的版本,b/hello.txt就是修改後的版本,下面的--- a/hello.txt很容易理解就是之前的版本,+++ b/hello.txt也就是修改後的版本,這裡用 ---與+++來區分,我們具體看下面,一看可能有點亂,仔細讀讀就可以發現語句前有 - 號的就是修改前的版本,有 + 號的就是修改後的版本,比如之前版本的hello git!和後面修改後的hello git and you!所以使用 diff 指令可以很明顯的看出我們之前的修改內容。
這裡先使用git add hello.txt,然後再輸入git commit -m "add "將hello.txt檔案新增到倉庫中
因為當我們修改檔案修改很多時候,我們是記不住修改了什麼內容,所以git提供了git log指令檢視最近的歷史記錄。
上面的我們可以發現輸出資訊太多,看得比較複雜的,可以試試加上--pretty=oneline引數:
首先,git必須知道當前版本是哪個版本,在git中,用head表示當前版本,也就是最新的提交的8940372e.....(這裡的id就是上圖 log 時候每一行的前面的一串字串),上乙個版本就是head^(510238c...),上上乙個版本就是head^^(a5df7c1...),當然往上100個版本寫100個^
比較容易數不過來,所以寫為head^100。
現在,我們要把當前版本回退到上乙個版本 second,就可以使用git reset --hard head^命令
我們輸出看看是否退回到了之前的版本:
我們可以繼續使用 git log 看看版本庫的狀態:
我們發現之前那個版本就直接不見了,當然git也給了回去原先版本的方法,不過要輸入的不再像之前一樣的 head ,而是需要後面加上 版本的id號,如下:
我們可以看到又回到了之前的版本回溯之前的版本,這就可以很人性化的管理版本,適合開發人員一起進行合作開發:
可能會問要是我之前沒有 log 就直接版本回溯了,不是就看不到我之前的那個版本的id嗎?沒事,可以輸入git reflog進行看所有版本的id和資訊:
以上就是一些基本的版本回溯的指令與過程,剛接觸git的可以了解了解。
Linux作業系統下使用vim命令修改檔案
但是當我們刪除和修改的內容過多的時候,我們使用命令列模式,進行修改,這樣方便,快捷,而命令列中,最常用到的是x,dd,u,p這四個命令 x 刪除當前字元 dd 刪除當前行 u 恢復前一步操作 p 複製之前刪除的行。例如,vi etc saikik表示顯示 etc saikik檔案的內容。使用鍵盤上的...
LINUX系統GIT使用教程
git使用筆記。1 安裝git sudo aptitude install git sudo aptitude install git doc git svn git email git gui gitk git軟體包包含了大部分git命令,是必裝的軟體包,第二行命令也是git軟體包,但是是單獨發布...
使用echo修改linux 系統密碼
通過把管道符和passwd命令的 stdin引數相結合,我們可以用一條命令來完成密碼重置操作 root root echo passwd passwd stdin root changing password for user root.passwd all authentication token...