QA@IT
«回答へ戻る

回答を投稿

gitではあるコミットが「属するブランチ」というのは定義が難しくて、1:1対応にならないことがあります。もし厳密に考えるならすべての可能なrefsからparentをたどってそのコミットに到達できるかを調べる必要があるでしょう。

しかしそれはさておきとりあえず代表的なやつだけでも知りたいというのならname-revはどうでしょうか。

% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940

(これはmanからとってきました) このようにすると、コミット 33db5f4tags/v0.99 の940個前だったことがわかります。

gitではあるコミットが「属するブランチ」というのは定義が難しくて、1:1対応にならないことがあります。もし厳密に考えるならすべての可能なrefsからparentをたどってそのコミットに到達できるかを調べる必要があるでしょう。

しかしそれはさておきとりあえず代表的なやつだけでも知りたいというのならname-revはどうでしょうか。

    % git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
    33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940

(これはmanからとってきました) このようにすると、コミット `33db5f4` は `tags/v0.99` の940個前だったことがわかります。