branch4 Blog

Internet development with every single possibility.

[Git] タグ打ちするときーーー

| Comments

タグ打ちするときの便利コマンド。

というか僕がよく使うことになる予定のコマンドのメモ。

今のgitの運用

  • bug対はmaster
  • ちょい修正もmaster
  • 大き目機能改善・機能開発は都度新しいbranch切る
1人でテキトウに作ってるのでなんとなくな感じです。

大体やりたいこと

  • releaseするときはtagを打ちたい
  • 既存で打ってあるtagの修正、ファイル追加・削除をしたい
  • 上記を便利コマンドを使ってやりたい
  • ついでにgitを覚えたい
きっとこんなところ。

そして、色々調べてみてわかったこと。
gitのtagは、ファイルに打つんじゃなくて、commitに対して打つ、ということ。
まぁそれならそれでそういう方針にしようかな。

大体やりたいこと(修正版)

  • releaseするときはtagを打ちたい
  • 既存で打ってあるtagの修正(違うcommitに対して打ちたい)
  • 上記を便利コマンドを使ってやりたい
  • ついでにgitを覚えたい
くらいかなぁ。
では、以下で実際使いそうなコマンドたちを羅列。

各tagのアノテーションを確認する

このタグなんのタグ?ってときに。
    
      $ git tag -n
     

既存tagのアノテーションを編集する

tagnameをtagnameで上書きするみたい。
    
      $ git tag tagname tagname -f -m *annotation*
     

任意のtagとHEADのdiffを取る

    
      $ git diff tagname HEAD
     

任意のtagとHEADのざっくりdiffを取る

    
      $ git diff --stat --color tagname HEAD
     

HEADに、任意のtagを打つ

    
      $ git tag -a tagname
      $ git tag -a tagname -m "annotation"
     

任意のcommitに、任意のtagを打つ

    
      $ git tag tagname commit
     

各commitで変更されたファイルを確認する

    
      $ git log --stat
      $ git log --numstat
      $ git log --numstate
      $ git log --name-status
      $ git log --name-only
     

各tagに対応するcommitを確認する

    
      $ git show tagname
     

全体的なフロー

今のところ2パターン。

パターン1:

HEADにこのtag打っちゃえ~!!やっほ~!!!のパターン。
をやればOK。

パターン2:

あー、tag間違って打った・・・どのcommitに打ちなおすんだっけ・・・。のパターン。
これできっといけるはず。

Comments