1

git rev-list --pretty='%H %an <%ae> %at' origin/topic-branch ^origin/master

输出以下内容:

commit d2d0b50ceac50cc81cf991ce09ab3db134af751d
d2d0b50ceac50cc81cf991ce09ab3db134af751d John Doe <john@doe.com> 1592392426
commit c5e1438a6ef2e6090c3f9dd9df0a5834b32b50b1
c5e1438a6ef2e6090c3f9dd9df0a5834b32b50b1 John Doe <john@doe.com> 1592393061

所需的输出应仅包含占位符包含的漂亮格式的字符串,如下所示:

d2d0b50ceac50cc81cf991ce09ab3db134af751d John Doe <john@doe.com> 1592392426
c5e1438a6ef2e6090c3f9dd9df0a5834b32b50b1 John Doe <john@doe.com> 1592393061

我不知道如何摆脱rev-list.

4

1 回答 1

0
git rev-list origin/topic-branch ^origin/master |
    while read sha1; do
        git --no-pager show -s --pretty='%H %an <%ae> %at'
    done

该技巧的主要部分是git show -s跳过提交标头并仅打印漂亮的部分。

于 2020-06-23T10:18:56.373 回答