git log 個性化

weixin_33866037發表於2018-06-27

命令如下:

git log --pretty=format:"%h"

其中format可為如下值:

*   %H: commit hash
*   %h: 縮短的commit hash
*   %T: tree hash
*   %t: 縮短的 tree hash
*   %P: parent hashes
*   %p: 縮短的 parent hashes
*   %an: 作者名字
*   %aN: mailmap的作者名字 (.mailmap對應,詳情參照[git-shortlog(1)](http://linux.die.net/man/1/git-shortlog)或者[git-blame(1)](http://linux.die.net/man/1/git-blame))
*   %ae: 作者郵箱
*   %aE: 作者郵箱 (.mailmap對應,詳情參照[git-shortlog(1)](http://linux.die.net/man/1/git-shortlog)或者[git-blame(1)](http://linux.die.net/man/1/git-blame))
*   %ad: 日期 (--date= 制定的格式)
*   %aD: 日期, RFC2822格式
*   %ar: 日期, 相對格式(1 day ago)
*   %at: 日期, UNIX timestamp
*   %ai: 日期, ISO 8601 格式
*   %cn: 提交者名字
*   %cN: 提交者名字 (.mailmap對應,詳情參照[git-shortlog(1)](http://linux.die.net/man/1/git-shortlog)或者[git-blame(1)](http://linux.die.net/man/1/git-blame))
*   %ce: 提交者 email
*   %cE: 提交者 email (.mailmap對應,詳情參照[git-shortlog(1)](http://linux.die.net/man/1/git-shortlog)或者[git-blame(1)](http://linux.die.net/man/1/git-blame))
*   %cd: 提交日期 (--date= 制定的格式)
*   %cD: 提交日期, RFC2822格式
*   %cr: 提交日期, 相對格式(1 day ago)
*   %ct: 提交日期, UNIX timestamp
*   %ci: 提交日期, ISO 8601 格式
*   %d: ref名稱
*   %e: encoding
*   %s: commit資訊標題
*   %f: sanitized subject line, suitable for a filename
*   %b: commit資訊內容
*   %N: commit notes
*   %gD: reflog selector, e.g., refs/stash@{1}
*   %gd: shortened reflog selector, e.g., stash@{1}
*   %gs: reflog subject
*   %Cred: 切換到紅色
*   %Cgreen: 切換到綠色
*   %Cblue: 切換到藍色
*   %Creset: 重設顏色
*   %C(...): 制定顏色, as described in color.branch.* config option
*   %m: left, right or boundary mark
*   %n: 換行
*   %%: a raw %
*   %x00: print a byte from a hex code
*   %w([[,[,]]]): switch line wrapping, like the -w option of git-shortlog(1).

如果你自己定製了一個喜歡的輸出方案,可以儲存到git config,或者設定alias以便日後使用。
~/.gitconfig中加入:

[alias]
    lg = log --graph 

或者執行:

git config --global alias.lg "log --graph"

最後來一個別人分享的例子,稍微有些慢,但是可以看下git log定製效果,效果很酷。。

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative

轉自個性化你的 Git Log 的輸出格式

相關文章