← 上一章:【狀況題】有些檔案我不想放在 Git 裡面… 下一章:【狀況題】等等,這行程式誰寫的? →


【狀況題】檢視特定檔案的 Commit 紀錄

雖然 git log 可以檢視整個專案的 Commit 紀錄,但如果只想檢視單一檔案的紀錄,只要在 git log 後面接上那個檔名:

$ git log welcome.html
commit 688fef0c50004c12fe85aa139e2bf1b1aca4a38f
Author: Eddie Kao <[email protected]>
Date:   Thu Aug 17 03:44:58 2017 +0800

    update welcome

commit cc797cdb7c7a337824a25075e0dbe0bc7c703a1e
Author: Eddie Kao <[email protected]>
Date:   Sun Jul 30 05:04:05 2017 +0800

    init commit

這樣就能看到這個檔案 Commit 的歷史紀錄。如果想看這個檔案到底每次的 Commit 做了什麼修改,可以再給它一個 -p 參數:

$ git log -p welcome.html
commit 688fef0c50004c12fe85aa139e2bf1b1aca4a38f
Author: Eddie Kao <[email protected]>
Date:   Thu Aug 17 03:44:58 2017 +0800

    update welcome

diff --git a/welcome.html b/welcome.html
index 94bab17..edc805c 100644
--- a/welcome.html
+++ b/welcome.html
@@ -1 +1,3 @@
hello, git
+
+Welcome to Git

commit cc797cdb7c7a337824a25075e0dbe0bc7c703a1e
Author: Eddie Kao <[email protected]>
Date:   Sun Jul 30 05:04:05 2017 +0800

    init commit

diff --git a/welcome.html b/welcome.html
new file mode 100644
index 0000000..94bab17
--- /dev/null
+++ b/welcome.html
@@ -0,0 +1 @@
+hello, git

格式可能看起來有點複雜,但大概可以看得出來在 “init commit” 那次的 Commit 只有加一行 “hello, git”,而 “update welcome” 那次 Commit 則是再新增了一行 “Welcome to Git”。

小提示

前面的加號 + 表示是新增的內容,如果是減號 - 表示原本的內容被刪除

使用 SourceTree 的話,可在指定的檔案上按右鍵,選擇「Log Selected」功能:

log selected

即可看到這個單一檔案的 Commit 紀錄:

log selected

每次 Commit 修改了什麼在右邊的小視窗也都看得到。


← 上一章:【狀況題】有些檔案我不想放在 Git 裡面… 下一章:【狀況題】等等,這行程式誰寫的? →

Comments