繁体   English   中英

如何在单个命令中查找存储库的所有发布标记的提交信息?

[英]How to find commit information for all release tag of a repository in a single command?

我可以在一行中使用 git 日志命令获取提交信息,如下所示:

git log --pretty='%H,%an,%ae,%cn,%ce,%cd,%s' --date=format:%Y-%m-%dT%H-%M-%S

但是,我想获得发布标签提交的类似信息。 目前,我可以使用两个步骤来解决这个问题:(1)找到所有的发布标签,(2)为每个发布标签(revtag)找到提交信息

在这两个步骤中使用了以下命令:

第 1 步:查找所有发布标签:

git tag --sort=refname

第 2 步:查找每个标签的提交信息:

git log revtag -1 --pretty='%H,%an,%ae,%cn,%ce,%cd,%s' --date=format:%Y-%m-%dT%H-%M-%S

这种方法的问题是我必须迭代每个标签并在第 2 步执行命令。我想要一个 git 命令来完成这项工作,并在一行中打印每个标签的所有提交信息。 有什么办法可以解决这个问题吗?

要获取有关单个提交的信息(而不是提交及其历史记录),通常最好使用git show 默认情况下, show将包含每个提交的差异(来自其父项),但您可以使用--no-patch抑制它。

所以:

git show  --pretty='%H,%an,%ae,%cn,%ce,%cd,%s' --date=format:%Y-%m-%dT%H-%M-%S --tags --no-patch

这可能不会给出你想要的顺序。 (我注意到您在第一步中对标签进行了排序。)如果您只是想让它们按时间顺序发布,我相信--date-order会确保这一点。

此外,您没有提到这在您的情况下是一个问题,但因为它通常是:如果只有一些标签是发布,那么您可以使用--tags=<pattern>符号 select 仅正确的标签

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM