10/19 本篇章節
第五篇 · 19 章
開始使用 Git
- 01 新增、初始 Repository
- 02 把檔案交給 Git 控管
- 03 工作區、暫存區與儲存庫
- 04 檢視紀錄
- 05 【狀況題】如何在 Git 裡刪除檔案或變更檔名?
- 06 【狀況題】修改 Commit 紀錄
- 07 【狀況題】追加檔案到最近一次的 Commit
- 08 【狀況題】新增目錄?
- 09 【狀況題】有些檔案我不想放在 Git 裡面...
- 10 【狀況題】檢視特定檔案的 Commit 紀錄
- 11 【狀況題】等等,這行程式誰寫的?
- 12 【狀況題】啊!不小心把檔案或目錄刪掉了…
- 13 【狀況題】剛才的 Commit 後悔了,想要拆掉重做…
- 14 【狀況題】不小心使用 hard 模式 Reset 了某個 Commit,救得回來嗎?
- 15 【冷知識】HEAD 是什麼東西?
- 16 【狀況題】可以只 Commit 一個檔案的部份的內容嗎?
- 17 【冷知識】那個長得很像亂碼 SHA-1 是怎麼算出來的?
- 18 【超冷知識】在 .git 目錄裡有什麼東西?Part 1 僅收錄於電子書
- 19 【超冷知識】在 .git 目錄裡有什麼東西?Part 2 僅收錄於電子書
第五篇 · 開始使用 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」功能:

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

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