Git log

Posted by Adam on August 24, 2022
## git log 自訂格式 預設的 `git log --oneline` 是一個固定的快捷格式,它**無法**直接透過參數「外掛」時間進去。 如果你想保有 `--oneline` 那種簡潔感,但又要看到時間,你需要自定義 `--pretty=format`。 ### 🛠️ 推薦的替代指令 你可以根據你對時間格式的喜好選擇以下其中一種: #### 1. 顯示「日期」(YYYY-MM-DD) 最整齊的格式,適合快速對照日期。 ```bash git log --graph --pretty=format:'%C(yellow)%h%Creset - %C(green)%ad%Creset %s' --date=short ``` #### 2. 顯示「相對時間」(多久以前) 如果你想知道這是不是最近改的(例如:2 hours ago)。 ```bash git log --graph --pretty=format:'%C(yellow)%h%Creset - %C(green)%ar%Creset %s' ``` #### 3. 顯示「精確時間」(日期 + 時分秒) ```bash git log --graph --pretty=format:'%C(yellow)%h%Creset - %C(green)%cd%Creset %s' --date=format:'%Y-%m-%d %H:%M:%S' ``` --- ### 🔍 參數細節拆解 為了讓你方便自己調整,這裡解釋一下上面用到的代碼: | 代碼 | 作用 | | --- | --- | | **`%h`** | 提交的短雜湊值 (Hash) | | **`%ad`** | 作者日期 (Author Date) | | **`%ar`** | 相對作者日期 (Relative Date) | | **`%s`** | 提交訊息摘要 (Subject) | | **`%C(顏色)...%Creset`** | 設定文字顏色,讓 Hash 變黃、日期變綠,視覺上更好辨識 | | **`--date=xxx`** | 指定日期的顯示格式 (short, relative, iso, etc.) | --- ### 🛠️ 終極進化版:Hash + 分支 + 日期 + 訊息 這是我最推薦的開發者常用指令,它能在保持單行的同時,一眼看清所有重點: ```bash git log --graph --pretty=format:'%C(yellow)%h%Creset %C(green)%ad%Creset %C(auto)%d%Creset %s' --date=short ``` --- ### 🔍 參數細節說明 我們在之前的基礎上新增了分支顯示: | 代碼 | 作用 | | --- | --- | | **`%C(auto)%d`** | **核心新增**。顯示分支名稱與標籤。使用 `auto` 會讓 Git 自動幫分支上綠色、遠端分支上紅色、標籤上黃色。 | | **`%C(yellow)%h`** | 短 Hash 值(黃色)。 | | **`%C(green)%ad`** | 日期(綠色)。 | | **`%s`** | 提交訊息。 |