1

commitID からチェックアウトすると、git は NO_BRANCH デタッチ状態になります。したがって、ブランチ名を取得するために使用する JGit APi はコミットを返します。したがって、JGit API で、このコミットが行われたブランチを見つける方法が必要です。

4

1 に答える 1

1

detached-branch モード (つまり、コミットからのチェックアウト) の使用は、実際には推奨されません: http://sitaramc.github.com/concepts/detached-head.html

まず、コミット SHA を取得する方法がわかりません。通常、ブランチをスキャンして (たとえばログを使用して) コミットを見つけます。したがって、自問する必要があるのは、コミット ID を取得する方法と、このデータからブランチを見つける方法です。

特定の問題については、RevCommit オブジェクトに基づいてブランチ名を見つける方法があると思います。ただし、それはまったく自然なことではないことを知っておく必要があります。

上記のリンクをたどると、Git がどのように構築されているか、および目的が他のデータからコミットを取得することであり、その逆ではない理由を理解できます。

于 2012-01-30T06:37:38.187 に答える