2012-11-26 19 views
6

git describeが "git log tag..inputで表示されるコミットの数"としてカウントを使用する理由を誰でも説明できますか?[git-describe(1)]?git-describeのコミット数計算

概念的には、git-describeはタグが単調増加カウンタとして使用されていると考えていました。しかし、実際には、 '入力'から到達可能なコミット数から 'タグ'で到達可能なコミット数を使用しているようです。何故ですか?

この場合、ブランチ(「1.0」)にリリースタグ(「1.0.0」)とパッチリリース(「1.0.1」)を作成しました。私はマージしました[http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html]ブランチがマスターに変わりました。しかし、私がgit-masterにもっと最近のコミットを記述すると、カウントはgit log tag..inputの出力と一致します。私はそれがgit log --ancestry-pathタグ​​と一致することを期待しました。

ありがとうございました。

+1

私は 'git describe - first-parent'があなたが望むことをするべきだと考えます。 – ctn

答えて

1

git describeは、意味のある方法でHEADと通信する方法です。 「歴史のどこにいるの?」という質問に対する簡単な答えです。または "これはどのバージョンのコードですか?"

コマンドを実行するときだから、それはそれはmasterの先端、いくつかの他のタグ、または単にランダムなコミットであるかどうか、あなたが現在あるを開始します。この開始点からは、タグを見つけるまでコミットを介して後方にカウントされます。そこから、タグ、コミットされたコミット数、そして短いコミット数を表示します。