のインスタンスが与えられた場合、それが存在するLibGit2Sharp.Commit
ものをどのように解決しますかBranch
質問する
246 次
1 に答える
2
実際、このコミットは多くのBranch
es に存在する可能性があります。sTag
またはStash
.
特定のコミットにつながるすべての参照を知りたい場合、.ReachableFrom()
メソッドはそのニーズにぴったり合うかもしれません:
IEnumerable<Reference> refs = repo.Refs.ReachableFrom(new[] { my_commit });
検索対象の参照をローカル ヘッドのみに制限したい場合、このメソッドのオーバーロードは、操作する参照のサブセットを受け入れます。
IEnumerable<Reference> localHeadRefs = repo.Refs.ReachableFrom(
repo.Refs.Where(r => r.IsLocalBranch()),
new[] { my_commit });
次に、es のリストを取得するには、次のBranch
ようにします。
IEnumerable<Branch> branches = localHeadRefs
.Select(reference => repo.Branches[reference.CanonicalName]);
于 2013-08-17T09:54:20.473 に答える