打印git提交连接在一行的体线

时间:2018-03-28 15:36:38

标签: git git-log commit-message

如何打印git提交以仅打印正文(提交没有标题的消息),但是在一行中?因此提交体线被连接,可能用空格分隔,并作为一行打印一次。

例如,有两个提交A和B,命令:

$ git log --format=%b

打印:

Commit A, line A.1
Commit A, line A.2
Commit B, line B.1
Commit B, line B.2

但我想得到:

Commit A, line A.1 Commit A, line A.2
Commit B, line B.1 Commit B, line B.2

2 个答案:

答案 0 :(得分:3)

git rev-list master |
    while read sha1; do
        git show -s --format='%B' $sha1 | tr -d '\n'; echo
    done

让我解释一下:

git rev-list master

列出分支中提交的SHA1 ID。

    while read sha1; do

在每个SHA1上运行一个循环。

        git show -s --format='%B' $sha1

显示提交的正文。

        tr -d '\n'

删除所有行结尾。

        echo

最后添加一个换行符。

答案 1 :(得分:0)

“ 3。默认情况下,git log打印提交,作者的姓名和电子邮件ID,时间戳和提交消息。但是,该信息不是非常图形化的,特别是如果您想查看分支和合并要显示此信息并限制其他一些数据,可以在git log中使用以下选项:$ git log --decorate --graph --oneline --all”(“ Git的“查看DAG,如何做...”版本控制食谱:利用版本控制来改变您的开发工作流程并提高生产率,第二版”;作者Aske Olsson,Rasmus Voss,Emanuele Zattin,Kenneth Geisshirt;出版商:Packt Publishing)。

向老板发送电子邮件时,有时我需要参考最新的提交或特定提交的列表。例如,我以前仅依靠git log -3来显示最后三个提交。不幸的是,这种方法很冗长(每个提交都包含多行),并且没有显示这些提交所属的分支。我开始使用git log --decorate --graph --oneline --all,它使我可以显示每个提交所属的分支。对于这种新方法,我还喜欢的一点是,每次提交都使用一行来总结:

C:\Users\jaimemontoya\[path]\app>git log --decorate --graph --oneline --all
* 99d200c (HEAD -> improvedatesformat, origin/improvedatesformat) Subtract 4 hours to the date and time stored in the database because the database uses GMT but El Salvador and Guatemala use GMT-4.
* 244a7a9 Use date() and strtotime() to format date/time in an easy to read format without the verbose and inefficient approach of multiple switch case statements.
* 4d38145 Change date format to 5 June 2020 instead of 06/05/2020 to avoid ambiguity.
* 501d4e4 (markP/subscriptions, marksubscriptions) Change CAPTCHA to reCAPTCHA for contact us form.
* fc860b2 Add ability to send country-wide bulk emails using a template other than Default Template.
* 7f9d2e7 (origin/addsubscriptiontemplates, subscriptionbanneradministration, addsubscriptiontemplates) Remove code that supported template pictures uploaded to media directory, since that implementation was abandoned.
* f6ea277 Add models/subscription_template.php, the version that no longer contains the code that associates pictures to subscription templates.
* 4373e7a Merge branch 'marksubscriptions' into addsubscriptiontemplates

查看它的颜色格式:

enter image description here