2016-04-20 16 views
1

すべてのタグの履歴を表示したかったのです。 gitを使用するgit tag --list v1.0.0ではなく、基になるコミット、タグメッセージ、および日付については何も表示されません。それから、私はgit log --tagsを使うことができると思ったが、コミット履歴にすべてのタグを追加し(正しく理解していれば)、リストはすべて(コミットとタグを含めて)膨大である。`git tag --list`と` git log --tags`の情報をどうすれば使うことができますか


    * v1.0.0デベロッパー、873bf3b、クリストフ・シュトラウス、2016年4月20日、私の最初のタグ
    ...

    編集のようなもの - どのように私はタグのリストを取得することができます

  • 私は窓口で作業しています。私は何午前

(出力なしで)加工した前の部分ということを確認戻りxargsは不明git for-each-ref --format='%(objectname)' 'refs/tags/v.*' 'refs/tags/v[0-9]*' | xargs -n 1 git log -1 --pretty=format:"%d & %s & %b"
、:2番目のリンクから
  • 不明git rev-list -n 1 $TAGまたはgit rev-list -n 1 %TAG%を返すタグ:最初のリンクから
  • 私は間違っている?残念ながら、私はgitには全く新しいので、どんな説明も高く評価されるでしょう!それは両方の答えが私が必要なものに近いはずですが、私のケースで何が間違っているかわからない...

  • +0

    これを見ましたか? :http://stackoverflow.com/questions/1862423/how-to-tell-which-commit-a-tag-points-to-in-git –

    +0

    http://stackoverflow.com/a/19850235/6309助けてください – VonC

    答えて

    1

    ほとんどの回答はあなたがまともなOSを持っていると仮定する傾向があります(Linux/BSD/MacOS、 Windowsでない場合...またはの場合にはWindowsがあります。これにはある程度のコマンドライン環境がありますので、あたかもUnix-ishボックスのように動作します)。したがって、xargsにパイプするすべてのコマンドは、awkなどを使用します。 (これらのツールは、私は信じている、Windowsのために利用可能なですが、私は、Windowsを避けるために最善を尽くします。)タグ付けされているコミットのためgit log出力を得るために探しているよう

    それは、しかし、見て、のみそれらのコミットのために。もしそうなら、gitは外部プログラムの助けなしにこれを行うことができるので、あなたは運が良いです。

    あなたが必要とするコマンドは次のとおりです。

    git log --no-walk --tags 
    

    (必要に応じて追加の--format=...または--pretty=format:...を追加します)。 --tags引数は、git logに、表示する開始点としてrefs/tags/のすべてのタグを使用するように指示し、--no-walkは、git logにコミットグラフを表示しないように指示します。

    通常、git logは、HEADまたは指定したコミットから開始し、指定した開始点から到達可能なすべてのコミットを検索するためにグラフを移動します。次に、すべてのコミットをソートされた順序にソートし、それらのすべてを表示します。 --no-walkフラグはグラフの歩行を停止しますが、ソートは行われず、--do-not-sort-at-allオプションはありません。どの種の処理を行うかを制御することをお勧めします;

    +0

    それは私の質問に答えます。私はドキュメントを見ただけで、v1.0.0のような注釈を別の場所から取得する必要があるようです。 'gitタグ'から。正しい?私の出力は次のようになります: '873bf3b、Christoph Strauss、2016-04-20、私の最初のタグ' – Christoph

    +0

    '--decorate'を追加したり、'%d'ディレクティブを使うとgitはタグを(あなたはまた、あなたがきれいにする必要があるかもしれないブランチの名前を得るでしょうが)。 – torek

    関連する問題