8

libgit2を使用して現在のブランチの名前を読み取ろうとしています。何らかの解決を行う必要がありますか?

使ってみました

git_branch_lookup

を検索しますgit_referenceHEAD、結果として

Unable to find local branch 'HEAD'

ありがとう!

4

3 に答える 3

9

実行中git branch -aはリストされませんHEAD。libgit2では、HEADも有効なブランチとは見なされません。これは単なる参照です。

どの参照が現在のブランチであるかを知りたい場合は、

  • 現在の参照をロードします(便利な方法をHEAD試してください)git_repository_head()
  • そのタイプを決定します(を使用してgit_reference_type()
  • GIT_REF_SYMBOLICタイプ(または)に応じてGIT_REF_OID、次のいずれかを取得します
    • ブランチの名前(を使用git_reference_symbolic_target()
    • ポイントされているコミット(を使用git_reference_target()
于 2012-08-26T19:43:02.953 に答える