介紹完 Git 進行版控的完整流程後,來看怎麼檢視我們提交的 commit 紀錄。
我們如果要查看我們提交過的可以使用 git log
:
$ git log
commit 140cd3101a11fe081d160049744e382351f4add0 (HEAD -> master)
Author: Calon <calon@mail.com>
Date: Thu May 12 21:42:42 2022 +0800
新增 helloWorld.txt
根據提交時間,時間越新的資訊會在越上面,我們新增一個 new.txt 檔案後並提交 commit 後再用 git log
檢視一次:
$ touch new.txt
$ git add new.txt
$ git commit -m '新增 new.txt'
$ git log
commit e6bd8bf12d133fb321d25165ae09136c142320e6 (HEAD -> master)
Author: Calon <calon@mail.com>
Date: Thu May 12 21:50:05 2022 +0800
新增 new.txt
commit 140cd3101a11fe081d160049744e382351f4add0
Author: Calon <calon@mail.com>
Date: Thu May 12 21:42:42 2022 +0800
新增 helloWorld.txt
而我們可以從中知道:
- commit 的辨識碼(那一長串亂碼)
- commit 的作者(Author)
- commit 的時間(Date)
- commit 的內容
commit 的辨識碼,以最新的 commit 來說就是 e6bd8bf12d133fb321d25165ae09136c142320e6 這一串,是使用 SHA-1 演算法(Secure Hash Algorithm 1)根據物件種類、時間、內容等等計算出來的,重複機率超級無敵低。
git log 參數
git log
有著豐富的參數可以根據需求來顯示 commit 的內容,例如我們只是想要簡略地知道每個 commit 做了哪些事,不需要查看其他內容,這時我們可以使用 --oneline
參數:
$ git log --oneline
e6bd8bf (HEAD -> master) 新增 new.txt
140cd31 新增 helloWorld.txt
我們也可以看更詳細的內容,例如想要看修改了哪些地方:
$ git log -p
commit e6bd8bf12d133fb321d25165ae09136c142320e6
Author: Calon <calon@mail.com>
Date: Thu May 12 21:50:05 2022 +0800
新增 new.txt
diff --git a/new.txt b/new.txt
new file mode 100644
index 0000000..e69de29
commit 140cd3101a11fe081d160049744e382351f4add0
Author: Calon <calon@mail.com>
Date: Thu May 12 21:42:42 2022 +0800
新增 helloWorld.txt
diff --git a/helloWorld.txt b/helloWorld.txt
new file mode 100644
index 0000000..af5626b
--- /dev/null
+++ b/helloWorld.txt
@@ -0,0 +1 @@
+Hello, world!
或是我只想要顯示含有 new.txt 內容的 commit:
$ git log --oneline --grep="new.txt"
e6bd8bf (HEAD -> master) 新增 new.txt
當今天我們的專案越來越大,commit 也會越來越多,但是我只想顯示最新的兩筆:
$ git log -2
更多的參數選項可以參考官方文件
參考資料
- 高見龍,《為你自己學 Git》