• 对于注定会优秀的人来说,他所需要的,只是时间!
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!

<七>Gitlab实战应用—通过命令行git log获取各种提交信息

Git eryajf 4个月前 (12-24) 370°C 已收录 0个评论
本文预计阅读时间 5 分钟

git log命令可以提供给我们很多代码提交的信息,通过一些格式化,我们能够更加优雅的得到对应的信息:

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

git 用各种 placeholder 来决定各种显示内容:

  • %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)或者git-blame(1))
  • %ae: 作者邮箱
  • %aE: 作者邮箱 (.mailmap 对应,详情参照git-shortlog(1)或者git-blame(1))
  • %ad: 日期 (–date= 制定的格式)
  • %aD: 日期, RFC2822 格式
  • %ar: 日期, 相对格式 (1 day ago)
  • %at: 日期, UNIX timestamp
  • %ai: 日期, ISO 8601 格式
  • %cn: 提交者名字
  • %cN: 提交者名字 (.mailmap 对应,详情参照git-shortlog(1)或者git-blame(1))
  • %ce: 提交者 email
  • %cE: 提交者 email (.mailmap 对应,详情参照git-shortlog(1)或者git-blame(1))
  • %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).

当前在Jenkins的应用中,通过如下方式,在项目拉完代码之后对一些信息进行了提取:

// 提交ID
env.COMMIT_ID   = sh(script: 'git log --pretty=format:%h',  returnStdout: true).trim()
// 提交者
env.COMMIT_USER = sh(script: 'git log --pretty=format:%an', returnStdout: true).trim()
// 提交时间
env.COMMIT_TIME = sh(script: 'git log --pretty=format:%ai', returnStdout: true).trim()
// 提交信息
env.COMMIT_INFO = sh(script: 'git log --pretty=format:%s',  returnStdout: true).trim()

这个信息可以在通知,以及更改构建信息都可以用到,便于运维开发测试一起核对。


weinxin
扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明<七>Gitlab实战应用—通过命令行git log获取各种提交信息
喜欢 (0)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!永远不要忘记,激情的奋进,就是美好的未来!

您必须 登录 才能发表评论!