1. 程式人生 > >linux系統使用git修改檔案後進行版本的回溯

linux系統使用git修改檔案後進行版本的回溯

今天寫一篇關於在linux中使用git修改了檔案後,進行版本的回溯。這裡在centOS虛擬機器中安裝好git進行測試。

一、首先先對檔案進行修改

這裡修改的檔案是已經上傳到git倉庫中的檔案,在git倉庫中對這個檔案修改

原始檔如下:

修改以後如下:

二、檢視修改的內容,進行確認

我們在第一步修改了檔案後,按 ESC 後輸入  :wq  儲存並退出,我們進入倉庫的路徑可以使用 diff 來看檔案修改的內容。

eg:   git diff hello.txt

這裡給大家簡單講講這些內容的意思, 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倉庫中

 這裡先使用 git add hello.txt,然後再輸入 git commit -m "add <and you>"

 將hello.txt檔案新增到倉庫中

四、檢視git倉庫中的版本歷史記錄

因為當我們修改檔案修改很多時候,我們是記不住修改了什麼內容,所以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 relog 進行看所有版本的ID和資訊:

以上就是一些基本的版本回溯的指令與過程,剛接觸git的可以瞭解瞭解。