最後のリリースからmaster
ブランチに対して行われたすべてのコミットを一覧表示する必要があります。私はpygit2
を使ってこの機能を実装しなければなりません。しかし状況はここでは少し異なります。タグが他のブランチのコミットを指しているときに、最後のリリースからすべてのコミットを一覧表示する
master
ブランチではtag
を使用し、リリースはother
ブランチになります。素朴なアプローチは、最後のtagged commit
のsha
を見つけて、HEAD
からsha
まで履歴を移動することです。しかし、このtagged commit
は私のケースではmaster
ブランチに作られていません、other
ブランチに作られています。コミットother
枝に作られたと
$ git log sometag..HEAD --oneline
ここ
、sometag
ポイント:master
ブランチ上で実行したときに興味深いことに、以下は正しい出力を提供します。だから、私はmaster
ブランチで行われたすべてのコミットのリストを持っていれば、これをプログラムで実装する方法を知りたいです。
tagged commit
のtimestamp
を見つけ、私のコミットリストをフィルタすることが、私の心に浮かぶ1つの解決策です。 git log
はどうやってこれをやっていますか?
タグ」上がりませんブランチに添付されていると、個々のコミットに添付されます。ダイアグラムはここで役立ちます。あなたは、特定のタグの先祖ではない現在のブランチの先祖であるコミットをリストしようとしていますか? –
@DietrichEpp、ええ、私はそれを知っています。私はあなたが 'anscestors'ではなくtagの'先代 'を示唆していると思いますか? – darxtrix
@DietrichEpp、大丈夫、わかりました。修正しました。 – darxtrix