git 本地對比2次commit直接的差異

年华似水゛發表於2024-06-26

檢視2個改動的細節

我們想檢視兩次提交之間的差異。可以用如下命令:xx1 ,xx2 是commit hash

git diff hash1 hash2 --stat  

這樣顯示的:

songchong@srv-artek-pad:~/mytest/songchong$ git diff xx1 xx2 --stat
 test  |    4 ++--
 test2 |    3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)
songchong@srv-artek-pad:~/mytest/songchong$

如果想檢視 具體的檔案的改動 :

songchong@srv-artek-pad:~/mytest/songchong$ git diff xx1 xx2 test
diff --git a/test b/test
index 6d6cdbb..60781a8 100644
--- a/test
+++ b/test
@@ -1,6 +1,6 @@
-
+6666666666666666666
 llllllllllllllaaaa
-
+8888888888888888888
 
 dsfsdkgdfkghjjh
 
songchong@srv-artek-pad:~/mytest/songchong$

如果不想指定具體的檔案,也可以直接使用

git diff xx1 xx2

這樣就可以 他就會陸續展示 檔案的改動

如果覺得diff 這樣命令列顯示的不太好看,那麼可以使用git difftool

git difftool --tool=bc3  xx1 xx2

這樣會使用byondcompare3 這個工具來進行gui 介面的展示2個檔案的改動

bc3 需要安裝好,如果沒有的話,可以用 gvim,或者其他difftool支援的,具體--help 檢視

檢視已經提交的改動細節

如果你本地已經提交了commit ,但是你想確認當前這個commit的提交的改動,檢查一下,那麼採用如下步驟:

實際上就是檢視當前HEAD 的commit 和 HEAD 上一個commit的對比,這樣就知道 HEAD改動了什麼。

直接使用bc3 看,gui 更友好。

# 先檢視都改動了哪些檔案:
git difftool --tool=bc3 HEAD~ --stat

# 檢視具體的改動,一個一個檔案的看:
git difftool --tool=bc3 HEAD~

# 或者,你從第一步看到了,檔案的名字,那直接去看針對性的檔案 xxx.py
git difftool --tool=bc3 HEAD~ xxx.py 

相關文章