私は現在、多くのブランチを持つプロジェクトで忙しく、ブランチの 1 つで行われた最後の変更のタグを持っています。しかし、このタグがどのブランチにあるのかは明確ではありません。
タグがどのブランチにあるかを調べる方法は?
さらに短い:
git branch --contains tags/<tag>
(ツリーっぽい参照で機能します)
タグが参照するコミットを見つけることができる場合:
git rev-parse --verify tags/<tag>^{commit}
# or, shorter:
git rev-parse tags/<tag>~0
次に、その commit を含むブランチを見つけることができます。
git branch --contains <commit>
以下でuser3356885がコメントしたように、フェッチされたブランチ (リモート名前空間のブランチ)について
git branch -a --contains tags/<tag>
git branch -a --contains <commit>
「git branch --contains」が何もしない場合は、リモート ブランチとローカル ブランチの両方のすべてのブランチが含まれていることを確認してください。
git branch -a --contains <tag>
git ヘルプから:
特定の git-branch アクション: -a、--all は、リモート トラッキング ブランチとローカル ブランチの両方を一覧表示します。
タグによって参照されるコミットを見つけることに関する@VonCのコメントに関しては、次を使用してください。
git show <tag>
タグは特定のコミットに関連付けられているため、そのコミットを表示するために使用できます。これにより、完全なコミットの詳細が得られます。
git branch --contains tag
私には何もしませんが、git guiでこの問題の解決策を見つけました。
次のように開始します。
git gui
(私のUbuntuでは、最初にインストールする必要がありましたsudo apt-get install git-gui
。)
次に、メニュー項目Repository -> Visualize All Branch Historyを選択しました。表示されたウィンドウで、メニュー項目File -> List Referencesを選択しました。
別のウィンドウがポップアップし、すべてのタグ (およびその他の参照) が一覧表示されます。これらはクリック可能で、そのうちの 1 つをクリックした後、左下のフレームでブランチのリストを確認する必要がありました。このような:
Parent: somesha (message)
Parent: someothersha (another message)
Child: anothersha (yet another message)
Branches: branch1, master, remotes/origin/branch2, remotes/upstream/branch1, etc
Follows: v1.1.2
Precedes: v1.1.4
タグを使用して参照をマークします。したがって、開発ブランチにいて、この状態にタグを付ける場合。あなたのタグは実際のリファレンスにあります。したがって、この場合、ツリーが表示されているgitkまたは別のツールを参照できます。タグがどの参照にあるかを確認できます。
git: ブランチごとのタグのようなものはありますか?
http://git-scm.com/book/en/Git-Basics-Tagging
ここに良い説明があります。