Git 中檢視修改

2021-09-28 20:24:49 字數 1506 閱讀 9534

git 中有個方便的命令git diff可以方便地檢視對已暫存的檔案做了哪些修改

一般來說,git 中檔案的狀態有2種,已跟蹤和未跟蹤,已跟蹤的檔案會記錄其未更新,已修改和已暫存這些狀態的變化。而未跟蹤的檔案 git 就不去管它。對檔案作了修改以後,git diff命令可以檢視跟蹤檔案修改以後和已修改(未暫存)的不同以及和已暫存的不同。檢視這兩個不同有一點區別。

檢視跟蹤檔案修改以後和已修改(未暫存)的不同

使用git add新增檔案後,檔案直接變為已暫存狀態 ,下次就可以通過git commit提交了。但是對檔案作了修改以後,這個檔案就變成了已修改但是未暫存的狀態,git diff 可以檢視修改以後的檔案和之前已暫存狀態的不同

可以看到之前已暫存的基礎上新增了新的內容:「我是git新新增的一行」

修改以後並變為已暫存,比較新的已暫存和之前已暫存檔案的不同

上面當然很簡單,但是這裡主要是指出 git diff 檢視已暫存狀態之間的差別和git diff --cached檢視已修改和已暫存的差別表現出來的細節,並通過分析有乙個清楚的認識。

檔案修改後還是已修改但未暫存的狀態時,分別使用兩個命令檢視

第一行輸出的內容很顯然,git add之後是已暫存狀態,修改之後比較的是修改後未暫存和已暫存之間的不同,顯示為新增了新的一行。

第二個命令檢視時,只有已暫存時候的一行內容,這是因為修改的內容還沒有存到暫存區域,也就是暫存區域間還沒有不同。

使用git add將修改存到暫存區域後分別使用兩個命令檢視

這時候第乙個命令的輸出為空,這是因為已修改為暫存的檔案已經不存在了,也就沒有不同了。

修改儲存到暫存區域後,git diff --cached進行已暫存檔案之間的比較,於是顯示出來了新新增的一行。

因此,單單git diff不過是顯示還沒有暫存起來的改動,而不是這次工作和上次提交之間的差異。所以有時候你一下子暫存了所有更新過的檔案後,執行git diff後卻什麼也沒有,就是這個原因。

git檢視修改記錄

檢視檔案中每行 的最近一次修改人 git blame file name git blame git blame l 100,100 git blame l 100,10檢視最近兩次變動及其變動點 git log p 2顯示增改行統計 git log statgit log pretty 選項,可以...

git檢視某個檔案修改歷史

it blame filename.c 顯示檔案的每一行是在那個版本最後修改。git whatchanged charge.lua 顯示某個檔案的每個版本提交資訊 提交日期,提交人員,版本號,提交備註 沒有修改細節 git show 7aee80cd2afe3202143f379ec671917bc...

git 檢視某個檔案修改歷史

git 檢視某個檔案修改歷史 顯示檔案的每一行是在那個版本最後修改。git blame file 顯示某個檔案的每個版本提交資訊 提交日期,提交人員,版本號,提交備註 沒有修改細節 git whatchanged file 顯示某個版本的修改詳情git show 6edc4bdcc1c966dc07...