簡體   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