Gitで特定コミットのタグ・ブランチ包含判定

機能: Mastodon v3.4.0/v4.0.0でのtoot/status→post/publishの改名 | GNU social JP」で、特定のマージコミットがどのタグ・ブランチに含まれているかを確認しました。

大規模プロジェクトで、複数のリリースを並行メンテナンスしている場合、マージコミットがどのバージョン・ブランチに入っているかが重要です。

今後も同様の確認が必要になることがありそうなので、確認方法を記録します。

情報源
  1. Git – git-tag Documentation
  2. Git – git-branch Documentation

gitのbranch/tagの両方で共通の--containsオプションでコミットを指定すれば確認できます。

先の記事に登場した「New Crowdin updates (#19517) · mastodon/mastodon@fea142f」を例にすると、以下のコマンドで特定コミットを含むブランチとタグを表示できます。

COMMIT=fea142fb9a0a6f7a4b92e608d638a26598f0a4e1
git branch --contains $COMMIT
git tag --contains $COMMIT
* main
v4.0.0
v4.0.0rc1
v4.0.0rc2
v4.0.0rc3
v4.0.0rc4
v4.0.1
v4.0.2
v4.1.0
v4.1.0rc1
v4.1.0rc2
v4.1.0rc3

逆に、--no-containsを指定すると、指定コミットを含まないタグ・ブランチの表示になります。

git tagで--containsオプションを指定すると-l/--listも暗黙的に指定したとみなされます。

シンプルで覚えやすいです。今後はこのコマンドで特定マージコミットの適用されたブランチ・タグ・バージョンを迅速に把握します。

Comments

Ads Blocker Image Powered by Code Help Pro

広告ブロッカー検知/Ads Blocker Detected

このサイトは会費と広告で運営されています。[Bronze=月220円以上に登録] するか、広告ブロッカーを無効にしてください。

This site is operated by membership and advertise. Please [register at least Bronze=220 JPY/month], or disable ads blocker.

Copied title and URL