2017-02-08 1 views
0

私は、注釈付き軽量タグ付きコミットを持つメインブランチを持っています。 ワークスペースがデタッチヘッド状態である私はgit describeを実行すると、すなわち後Jenkins Multibranch Pipelineデタッチヘッドコミットでgit describeを使用するには?

経由でチェックアウトした私は、例えば(、そのタグ以来、一緒にコミットの非常に高い数字で、本当に古いタグの名前を取得しています1.0.0-459-abc1234

私がgit tagを実行すると、最新のものを含め、私が興味を持っているすべてのタグのリストが得られます。 3.1.0,3.2.0

私はリモートブランチの名前を取得するためにgit branch -r --contains HEADのようなことを考えていましたが、それをフェッチしてチェックします(パイプラインをトリガーするものよりも後のコミットを実際にチェックしているリスクを実行します。とにかく、それはとにかく引っ張り要求に隔離されています...) またはちょうど実行git describe <remote_branch_name> しかし、どちらもうまくいきませんでした。 私はGitが最近のタグではなく古いタグを表示するのはなぜか分かりません。なぜなら、任意のプルリクエストがタグを含むmasterブランチから分岐しているからです(タグ付けされたすべてのコミットはmasterブランチ)。

+0

現在の(分離した)HEADコミット(親、親 - 親など)に従うと、タグ3.x.0でコミットしていますか? – VonC

答えて

0

問題の原因は、実際にgitのバージョンと異なる場合があります。 1つのホストに2.10.xにアップグレードした後、古いバージョンのgitがインストールされていた(1.7.x)と、問題はなくなりました。 もう1つの理由は、タグを更新して新しいコミットを指し示すことがあるということです(これはやめました)。 軽量タグを作成して注釈付きタグに変更すると既に軽量タグを見ていたクライアントは、git fetch --tagsを実行したときに、更新された注釈付きタグをダウンロードしません。これは、すでにタグを名前で見ていたことを認識しているためです。 git describeはそのクライアントのタグを取得しません。

関連する問題