LibGit2Sharpを使用して、repo urlを指定したすべてのリモートブランチのリストを取得するにはどうすればよいですか?
私はローカルディスク上にレポのクローンを持っていません。
LibGit2Sharpを通じて、リモートリポジトリの参照(主にブランチとタグ)に関する情報を複製せずに読み取ることができます。これにより、これらの参照の名前とそれぞれが指しているコミットのshaが取得されます。
これは、静的メソッドIEnumerable<Reference> ListRemoteReferences(string url)
によって実行できます。これは、CLIコマンドのと同等です。
私がブランチのリストを取得したら、自分のブランチにコミットIDのリストを取得したいと思います。
残念ながら、ListRemoteReferences()
は各ブランチの先端のみを返します。 LibGit2Sharpのみを使用してこのブランチで参照される他のコミットを列挙する必要がありますか?リモートリポジトリをローカルでクローンする必要があります。むしろ、クローニングよりも代替として
、あなたはヒントのシャスを持ったら、あなたはCommit GitHub APIを活用し、それぞれの可能性がコミット、再帰のそれぞれのAPI呼び出しを再適用、その親(複数可)を取得しますそれら。この最後のオプションはパフォーマンスがはるかに劣ることに注意してください(ネットワークI/O、APIレート制限など)。