前言
最近因為專案要用 release 資訊,我們這邊做法是利用 commit 來控管 release 版本,以下作法是利用 git log 抓取 commit 資訊。
一、git log
1-1 抓取區間 - 日期
因為 commit 可能因為版本過多,我們可以透過以下方式處理。
1 | git log --oneline --pretty=format:"%h %ad | %s%d [%an]" --date=short --since="2024-04-01" --before="2024-04-10" |
1-2 抓取區間 - SHA
如果是要抓取特定版本,可以透過 SHA 來抓取。
1 | git log --oneline --pretty=format:"%h %ad | %s%d [%an]" --date=short 1b2e3c4..5a6b7c8 |
二、補充
2-1 online
–oneline 是 git log 命令的一個選項,它會將每個提交的輸出縮短為一行。這對於查看項目的提交歷史非常有用,因為它可以讓你在一個簡潔的視圖中看到所有的提交。
具體來說,–oneline 選項會顯示每個提交的縮短 SHA-1 校驗和和提交消息的第一行。例如:
2-2 pretty
pretty 是 git log 命令的一個選項,它允許你指定自定義的格式來顯示提交歷史。你可以在 Git 的官方文檔中找到關於 pretty 選項的詳細說明。
以下是一些 pretty 選項的常見用法:
- git log –pretty=oneline:每個提交顯示為一行,包括縮短的提交哈希和提交消息的第一行。
- git log –pretty=short:每個提交顯示為一個短摘要,包括完整的提交哈希、作者、日期和提交消息的第一行。
- git log –pretty=full:每個提交顯示為一個完整的摘要,包括完整的提交哈希、作者、提交者(如果與作者不同)、日期和完整的提交消息。
- git log –pretty=fuller:與 full 類似,但還包括提交者的日期。
- git log –pretty=format:”%h - %an, %ar : %s”:使用自定義的格式顯示每個提交。在這個例子中,%h 是縮短的提交哈希,%an 是作者的名字,%ar 是相對的提交日期,%s 是提交消息的第一行。具體來說,–pretty 選項允許你使用一個格式字符串來定義 git log 命令的輸出格式。這個格式字符串可以包含各種佔位符,每個佔位符都代表著提交的一個屬性。例如:
1 | git log --pretty=format:"%h %ad | %s%d [%an]" |
2-2-3 format 格式字符串
–pretty=format: 是 git log 命令的一個選項,它允許你以自定義的格式來顯示提交歷史。你可以在 format: 之後指定一個格式字符串,該字符串可以包含一些特殊的格式符號來表示提交的各種信息。
以下是一些常用的格式符號:
- %H:提交的完整哈希值
- %h:提交的縮短哈希值
- %T:樹的完整哈希值
- %t:樹的縮短哈希值
- %P:父提交的完整哈希值
- %p:父提交的縮短哈希值
- %an:作者的名字
- %ae:作者的電子郵件地址
- %ad:作者的日期(可以與 –date 選項一起使用來改變格式)
- %ar:作者的相對日期
- %cn:提交者的名字
- %ce:提交者的電子郵件地址
- %cd:提交者的日期
- %cr:提交者的相對日期
- %s:提交信息的標題
例如,你可以使用以下命令來顯示每個提交的縮短哈希值、作者的名字和提交信息的標題:
1 | git log --pretty=format:"%h - %an : %s" |
這將產生如下的輸出:
a3f6e2d - John Doe : Add new feature
5076a3c - Jane Doe : Fix bug
...
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 John Conte!
評論
DisqusGitalk