一、基礎查看
要查看git上某文件的改動內容,最基礎的方式就是使用git diff命令,格式如下:
git diff commit1 commit2 -- file_path
其中commit1和commit2表示要比較的兩個提交,file_path表示文件路徑,若要查看當前工作目錄下某個文件的改動內容,則可以將commit1和commit2省略。比如查看當前工作目錄下README.md文件的改動內容,可以使用如下命令:
git diff HEAD -- README.md
執行該命令後,終端會顯示該文件的所有改動,包括刪除、修改和新增。
除了使用git diff命令外,我們還可以使用git log命令查看文件的改動歷史。命令格式如下:
git log -- file_path
該命令可以列出該文件的所有提交歷史和作者信息等。如果只想查看某個文件的提交歷史,可以在命令後加上–follow參數。比如想查看README.md文件的提交歷史,可以使用如下命令:
git log --follow -- README.md
二、查看指定行數
有些時候,我們只希望查看文件的某些行的改動內容,而非整個文件。此時可以使用git diff命令的-l參數,格式如下:
git diff -l line_num commit1 commit2 -- file_path
其中line_num表示要查看的行數,可以是單個數字,也可以是以逗號分隔的數字範圍。比如想查看README.md文件的第3行和第5~7行的改動內容,可以使用如下命令:
git diff -l 3,5-7 HEAD -- README.md
三、查看具體修改內容
有時,在文件的某行上可能有多次修改,並且Git默認只顯示最後一次修改。此時,我們可以在git diff命令中使用-s參數顯示文件的具體修改內容。命令格式如下:
git diff commit1 commit2 -s -- file_path
下面是一個實際例子:
diff --git a/README.md b/README.md
index ca1cb25..78620f3 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,3 @@
-# My Project
-
-This is a description of my project.
+# Welcome to my project
其中@@ -1,5 +1,3 @@表示對應的修改行範圍,-表示舊文件,+表示新文件。
四、查看指定時間範圍的改動
有時我們需要查看在一段時間範圍內某個文件的修改情況。這可以通過git log命令配合–since和–until參數來實現,命令格式如下:
git log --since=start_date --until=end_date -- file_path
其中start_date和end_date表示時間範圍,可以使用各種格式的日期和時間,比如”2 weeks ago”表示2周前。
下面是一個實際例子:
git log --since=2022-01-01 --until=2022-12-31 -- README.md
五、使用圖形界面查看
如果覺得在命令行中查看文件的改動內容不太方便,可以使用Git自帶的圖形界面來查看。使用命令gitk即可打開,默認會顯示當前分支的提交歷史。在左側的窗口中選中某個提交,右側的窗口就會顯示該提交修改的所有文件,選中某個文件再滑鼠右鍵點擊”diff this -> selected”,即可查看該文件的改動內容。
六、總結
以上就是常見的Git查看文件改動內容的方法,包括基礎查看、查看指定行數、查看具體修改內容、查看指定時間範圍的改動和使用圖形界面查看等等。希望對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153824.html