假如我們修改viewmail.vue 檔案(部分**)
從
//修改為根據id獲取詳情
getbyid () ).then(res =>
});},
//就在post 位置 多加了 一行注釋和 多加了乙個字段 initatortype 字段 ,好吧這不重要,我只是不行寫簡單的例子了,直接用的專案中的**作為例子。根據id獲取詳情
getbyid () ).then(res => ).then(res =>
});},
修改完畢後我們開啟 git 命名行。
執行命令 git status 檢視我們 工作區的修改的檔案
git 告訴我們 乙個viewmail.vue檔案修改了。但是沒有告訴我們這個檔案裡 具體修改了哪些內容。此時git diff 就排上的用場。 他可以用於比較現在 工作區(未提交到暫存區) 與 暫存區(已經通過 git add 和 git commit 提交了)。具體的修改變化。
下面我們來執行一下 git diff 命名。檢視一下變化。
具體的變化就一目了然了,git 告訴我們 刪除了紅色行 ,新增了 綠色 行的**。這正是我們的修改。
其實此時執行的 git diff 相當於 git diff head (head 指向的是 local repository 中最新提交的版本)。
我們再來看一下執行 git diff head
兩次的執行結果是一樣的。我們再來看一下git diff 的簡單說明:
git diff:是檢視 workspace(工作區) 與 index(暫存區) 的差別的。
git diff --cached:是檢視 index(暫存區) 與 local repositorty(本地倉庫) 的差別的。
git diff head:是檢視 workspace 和 local repository 的差別的。(head 指向的是 local repository 中最新提交的版本)
注:git diff 後跟兩個引數,如果只寫乙個引數,表示預設跟 workspace中的**作比較。git diff 顯示的結果為 第二個引數所指的**在第乙個引數所指**基礎上的修改。如,git diff head 表示 workspace 在 最新commit的基礎上所做的修改
由上圖可以看出,通常情況下, 當我們執行的 git add . ,是將工作區(workspace)的**提交到了暫存區(index)中,然後我們經常執行的 git commit -m 「修改**提交說明」
是將暫存區中的**提交到了本地倉庫(local repository)中。再往後就是我們通過 git push 將本地倉庫的**提交到遠端倉庫了(這裡不多說了,主要說比較版本區別)。
這樣就可以解釋與git diff 和 git diff head 的執行結果一樣的問題了:
雖然說 git diff 是 比較 的工作區 與 暫存區 的區別,git diff head 比較的是 工作區和 本地倉庫的 區別。
但是有一點是,我在修改 **前已經 執行過來 git add . 和 git commit -m "。。。" 命令了。所以 暫存區的 內容和 本地倉庫的內容是一樣的。
執行完後通過 git status 檢視狀態。已經告訴我沒有要提交 的東西了。
所以執行 git diff 和 執行 git diff head 的命令 結果是一樣的。
下面我們再來看一下如果已經把工作區(workspace)中的**提交到了暫存區(index)和本地倉庫(local repository)中怎麼檢視與上乙個版本的區別。
執行如下命令進行提交:
提交完畢後檢視是否還有要提交的內容
好的,已經提示沒有要提交的內容了。
下面我們再來檢視一下執行 git diff 和 git diff head 看是否還有效果:
可以看出這兩個命令已經沒有輸出的東西了。
相信認真看完上面內容的你,已經知道為什麼了。因為此時 工作區(workspace)和 暫存區(index)、本地倉庫(local repository)的最新版本** 都是一樣的了。所以已經比較不出東西了。
那麼此時我們想看這一版本的**和上一版本的**區別,就得使用 git diff head^ 我們知道到 head ** 本地倉庫的最新版本, 那麼上最新版本的上乙個版本就用 head^ 表示, 依次類推 那麼最新版本的 上乙個版本的上乙個版本就是 head^^
那麼問題來了,我們如果我們比較的版本比較久遠,就會寫好多 ^^^...... 很麻煩,也容易把自己寫暈。所以git 還有另一種寫法 git diff head~x x 代表^ 的個數。 即: git diff head~1 代表最新版本的上乙個版本。 git diff head~2 代表最新版本的上乙個版本的 上乙個版本。
下面我們來執行一下(看一下當前最新版本與上乙個版本的區別)
很完美的展現了我們修改的**。
我們再用 git diff head~1 來檢視一下。
結果是一樣的。
這就是git diff 的一些簡單用法。具體用法請見官網。
附:
git diff檢視修改,比較修改之間的差異
1.比較修改之間的差異 git diff不加引數即預設比較工作區與暫存區 git diff cached 比較暫存區與最新本地版本庫 本地庫中最近一次commit的內容 git diff head 比較工作區與最新本地版本庫。如果head指向的是master分支,那麼head還可以換成master ...
Oracle學習版的簡單使用
1 新增sys和system使用者的口令。2 我們要啟動資料庫主頁,使用system使用者進行登入。3 建立乙個普通使用者。1 命令提示符介面 輸入sqlplus回車,按提示輸入使用者名稱和口令。選擇自帶的執行sql命令列介面輸入conn username password 2 使用客戶端sqlde...
Eclipse使用教程簡單版
b 用eclipse來完成乙個helloworld案例 c 編譯和執行 d eclipse的漢化 e 語法檢查提示 黃色波浪線 b 檢視 是由某些視窗的組合而成的 b 如何去掉預設注釋?c 行號的顯示和隱藏 d 字型大小及顏色 b 控制台 c 其他檔案 e 窗體給弄亂了,怎麼辦?f 控制台找不到了,...