gpt4 book ai didi

git - 仅使用 git log 显示 sha1

转载 作者:IT王子 更新时间:2023-10-29 00:52:37 28 4
gpt4 key购买 nike

我想编写一个 Bash 脚本,通过调用 git log 循环输出提交的 sha1。然而,git log 给我的输出比我想要的多得多:

commit 0375602ba2017ba8750a58e934b41153faee6fcb
Author: Mark Amery <markamery@notmyrealemail.com>
Date: Wed Jan 1 21:35:07 2014 +0000

Yet another commit message

This one even has newlines.

commit 4390ee9f4428c84bdbeb2fed0a461099a6c81b39
Author: Mark Amery <markamery@notmyrealemail.com>
Date: Wed Jan 1 21:30:19 2014 +0000

Second commit message.

commit bff53bfbc56485c4c1007b0884bb1c0d61a1cf71
Author: Mark Amery <markamery@notmyrealemail.com>
Date: Wed Jan 1 21:28:27 2014 +0000

First commit message.

如何让 git log 只输出 sha1,以便我可以方便地遍历它们?

最佳答案

您可以使用 --formatcustom format 争论仅包括 sha1:

git log --format=format:%H

上面的命令产生如下输出:

0375602ba2017ba8750a58e934b41153faee6fcb
4390ee9f4428c84bdbeb2fed0a461099a6c81b39
bff53bfbc56485c4c1007b0884bb1c0d61a1cf71

您可以像这样在 Bash 中循环提交哈希:

for sha1 in $(git log --format=format:%H); do
: # Do something with $sha1
done

这比 using git rev-list 稍微冗长一点, 但如果你想为 git rev-list 不支持的 git log 使用排序或过滤参数,比如 -S.

关于git - 仅使用 git log 显示 sha1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20873649/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com