2016-10-24 11 views
1

誰かがJGit APIを使用して1つのブランチでコミットを選ぶ方法を示すコードスニペットを共有できますか?特定のブランチでコミットを探す必要があります

RevWalkを使用すると、指定したブランチにマージされたサブブランチを含め、ツリー全体が取得されます。

指定したブランチにマージされたブランチの親コミットを取得せずに、指定したブランチでコミットをJUSTにするにはどうすればよいですか?

また、特定のコミットがどのブランチに位置しているかを調べるのに役立つ場合があります。

enter image description here

がどのように開発ブランチに沿ってすべてのコミットを得ることができますいくつかの詳細情報を追加


? したがって、上記の画像に基づいて、私は必要シャス:

2a34

B468

785C

ではなく:

731A

cbdb

ありがとう!

+0

私は、あなたが求めていることは、これを達成するためにGitのどのGitコマンドを使用することはできないと思いますか? –

+0

磁器のAPIのコマンドは知られていません。私はjGit APIがあれば疑問に思っていました。 2番目の質問:どのように特定のコミットがあるブランチを見つけることができますか?そのためのAPIはありますか? –

+0

こんにちは、@PankajTandon。あなたはこれを解決することができましたか? – kolobok

答えて

0

特定の支店から始まる、Gitのリポジトリの歴史を通過するためには、としてLogCommandを使用することができ、ここで説明:JGit: How to get all commits of a branch? (Without changes to the working directory ...)コマンドのaddFilter()方法は、特定のコミットを除外するRevFilterをインストールするために使用することができます

+0

ありがとうRudiger。 ただし、nameRevコマンドはブランチの名前を返しません。代わりに、最後に〜を付けて前のrefを返します。 たとえば、ブランチが「開発」と呼ばれる場合、nameRevによって返されるマップは、そのブランチの* second *コミットで「〜1」を返します(最初のコミットは「開発」を正しく返します)。 これは、私が取っているアプローチにキボッを置き、ブランチに沿ってすべてのコミットを見つけることです。 質問を明確にするために、下の画像を添付しています。 アイデア ありがとう! –

関連する問題