33

すべてのタグのタグ名、タグの日付、タグ メッセージを一覧表示するにはどうすればよいですか?

git のコミット スルーgit logとタグ スルーの表示ロジックの分離によりgit tag、タグ名、タグの日付、およびタグ メッセージを一覧表示することが難しくなっているようです。

タグの日付、名前、コミットメッセージを表示できますgit log --tags --show-notes --simplify-by-decoration --pretty="format:%ai %d %s"

http://opensource.apple.com/source/Git/Git-26/src/git-htmldocs/pretty-formats.txtを調べましたが、タグ メッセージを表示するオプションがありませんでした。

を使用して、タグ名と 5 行のタグ メッセージを表示できますgit tag -n5

しかし、これら 3 つの情報をすべて取得するには、私の能力を超えた厄介なスクリプトが必要になるようです。

4

8 に答える 8

28

for-each-refコマンドを使用したい。残念ながら、それはわずかにユーザーフレンドリーではありませんfilter-branch

タグの日付やタグ付け者などの情報は、注釈付きタグでのみ利用できることに注意してください。

以下は基本的なプロトタイプです。format= は、それ自体の完全なシェル スクリプトにすることができ、出力をどれだけ複雑にするかによって異なることに注意してください。for-each-ref のドキュメントには、タグに特化した例がいくつかあります。

git for-each-ref --format="%(refname:short) %(taggerdate) %(subject) %(body)" refs/tags
于 2014-10-25T14:21:16.480 に答える
6

git show --tags少なくとも、タグに関するすべての関連情報を出力します。--pretty=format:そこから適切なシーケンスを見つけることができるかもしれません。

于 2012-09-01T01:15:47.707 に答える
3

もう少し素敵なカラフルなフォーマットはどうですか?

# ~/.gitconfig
[alias]
tags="for-each-ref --sort=taggerdate --format='%(color:green)%(subject)%(color:reset), tagged: %(refname:short)\n%(taggerdate)\n%(taggername) %(taggeremail)\n\n%(contents:body)\n' refs/tags"

$ git tags 

Release 1.0.1, tagged: 1.0.1
Wed Jul 4 20:16:05 2018 +0430
Sepehr Lajevardi <sepehr.lajevardi@...>

Changelog
- Implement Contentful webhooks to purge internal and CF caches.
- Implement CloudFlareService.
- Fix Contentful's mapping concern usage/namespace. #73
- Temporarily enforce https in og:url property. #103
- Fix entry callback issue with Contentful client. #99
- Fix issue with PPM docker build. #96

Release 1.1.2, tagged: 1.1.2
Thu Jul 12 21:26:29 2018 +0430
Sepehr Lajevardi <sepehr.lajevardi@...>

Changelog
- Fix GA share event issue with AddThis. #132
- Optimize OpenGraph protocol tags for articles. #130
- Optimize Twitter card tags. #131
- Fix HTML validation errors as much as possible. #127


Release 1.1.3, tagged: 1.1.3
Mon Jul 16 22:49:05 2018 +0430
Sepehr Lajevardi <sepehr.lajevardi@...>

Changelog
- Implement cross-device/browser fav/home icons. #137, #138
- Minify HTML output of all pages. #139
- Check for lighthouse score in build pipeline. #30
- Drop AddThis in favor of in-house ShareBar. #116
- Minor article OG tag adjustments.
于 2018-07-17T05:48:33.900 に答える
-2

これは、アンドリューの回答に対するフォローアップの質問であり、少し異なりますが関連するトピックです。

git for-each-ref --format="%(refname:short) %(taggerdate) %(subject) %(body)" refs/tags

これは、直接コマンドラインでうまく機能します。~/.gitconfig に git エイリアスを設定すると、同じ出力が表示されないようです。

コマンドラインで直接呼び出すと、取得します。

package-release-14.7.2 Wed Dec 3 14:24:38 2014 -0800 14.7.2: タグのコピー package-release-14.7.2
package-release-14.7.3 Thu Dec 4 14:14:55 2014 -0800 14.7.3: タグ package-release-14.7.3
package-release-14.7.4 のコピー Fri Dec 5 16:16:40 2014 -0800 14.7.4: タグ package-release-14.7.4 のコピー

そして、git alias(taghist = for-each-ref --format="%(refname:short) %(taggerdate) %(subject) %(body)" refs/tags) を呼び出すと、

パッケージ リリース 14.7.2
パッケージ リリース 14.7.3
パッケージ リリース 14.7.4

-さん

于 2014-12-10T07:11:54.337 に答える