Skip to content

Commit

Permalink
Tagging a version
Browse files Browse the repository at this point in the history
  • Loading branch information
motemen committed Jul 26, 2008
1 parent 6b9fb28 commit 83153f2
Showing 1 changed file with 174 additions and 6 deletions.
180 changes: 174 additions & 6 deletions gitcore-tutorial/00.introduction.txt
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ Initialized empty Git repository in .git/

       ____
     / \  /\ キリッ
.   / (ー)  (ー)\  そうかお!
.   / (ー)  (ー)\  
  /   ⌒(__人__)⌒ \  毒にも薬にもならないファイルを作るならやる夫にまかせるお!
  |      |r┬-|    |  
   \     `ー'´   /  
Expand Down Expand Up @@ -410,8 +410,8 @@ $ ls .git/objects/??/*
          /.:.l:.:.:/:/   :/  ', :l   ヾ`ー
            /!:.:.|:.: l/  〃 / j } :|    ハ
        /イ:.:.i|:.:.jL∠/_/ | /l.ム_/| l  l } オブジェクトはSHA1で記録されている
         N:.ハ:.:.:lィfアト/ レ ィ=ト | /| ∧j SHA1 に対して git-cat-file をすることでオブジェクトがどのように格納されているか分かる
          ヽム:.} ii;_j    ii;リ ル iレヽ   
         N:.ハ:.:.:lィfアト/ レ ィ=ト | /| ∧j SHA1 に対して git-cat-file をすることで
          ヽム:.} ii;_j    ii;リ ル iレヽ   オブジェクトがどのように格納されているか分かる
                `ヘ:ゝ   _     小/ 
                  ヾ:{>、 _ ィ<}/|/
           _, ィr'´ヽ{ ___`} ヽ、_
Expand Down Expand Up @@ -531,14 +531,21 @@ $ git diff-files
          /  | l:l   l     l   l::l l
           l  ヽハ    l    l  //  |

       ____
     /ノ   ヽ、_\
   /( ○)}liil{(○)\  
  /    (__人__)   \ それなら最初かr…
  |   ヽ |!!il|!|!l| /   |
  \    |ェェェェ|     /


   / ̄ ̄\
 /   _ノ  \
 |   ( ●)(●)
. |     (__人__)____
  |     ` ⌒/ ─' 'ー\
.  |       /( ○)  (○)\
.  ヽ     /  ⌒(n_人__)⌒ \ それなら最初かr
.  ヽ     /  ⌒(n_人__)⌒ \
   ヽ   |、    (  ヨ    |
   /    `ー─-  厂   /
   |   、 _   __,,/     \
Expand Down Expand Up @@ -920,8 +927,8 @@ $ git update-ref HEAD $commit|
         N:.ハ:.:.:lィfアト/ レ ィ=ト | /| ∧j  
          ヽム:.} ii;_j    ii;リ ル iレヽ.  git-write-tree で作成される tree の内容も
                `ヘ:ゝ   _     小/     インデックスの中身と一緒
                  ヾ:{>、 _ ィ<}/|/    git-diff-index で tree とインデックスも、しくは tree とワーキングツリーとの
           _, ィr'´ヽ{ ___`} ヽ、_      差分を見ることができる
                  ヾ:{>、 _ ィ<}/|/    git-diff-index で tree とインデックス、
           _, ィr'´ヽ{ ___`} ヽ、_      もしくは tree とワーキングツリーとの差分を見ることができる
         /| l:|   | ===|   |:l゙ヽ   デフォルトでは tree とワーキングツリーとの差分
          /  | l:l   l     l   l::l l
           l  ヽハ    l    l  //  |
Expand Down Expand Up @@ -1411,3 +1418,164 @@ Date: Sat Jul 26 13:02:42 2008 +0900
||<

<!-- --root オプション、git-whatchanged -p -->

** Tagging a version
>|aa|

           /.:.:.         \
              /:,:.:.:  /   ヽ    \
          /.:.l:.:.:/:/   :/  ', :l   ヾ`ー
            /!:.:.|:.: l/  〃 / j } :|    ハ
        /イ:.:.i|:.:.jL∠/_/ | /l.ム_/| l  l }  …git のタグには
         N:.ハ:.:.:lィfアト/ レ ィ=ト | /| ∧j      「軽い(light)」タグと
          ヽム:.} ii;_j    ii;リ ル iレヽ.    「説明つき(annotated)」タグの2種類ある
                `ヘ:ゝ   _     小/     
                  ヾ:{>、 _ ィ<}/|/      軽いタグというのは単にブランチと同じものと言っていい
           _, ィr'´ヽ{ ___`} ヽ、_   
         /| l:|   | ===|   |:l゙ヽ   
          /  | l:l   l     l   l::l l
           l  ヽハ    l    l  //  |
||<
>||
$ git tag my-first-tag
||<
>|aa|
     , '´ ̄ ̄` ー-、     
   /   〃" `ヽ、 \    
  / /  ハ/     \ハヘ   このコマンドは HEAD を .git/refs/tags/my-first-tag というファイルに書き込むだけだよ!
  |i │ l |リノ    `ヽ}_}ハ.   
  |i | 从 ●     ●l小N   こうやっておくことであとからこの時点のコミットを参照できるのさっ
  |i (| ⊂⊃ 、_,、_, ⊂li|ノ    
  | i⌒ヽ j  (_.ノ   ノi|__/⌒) 
  | ヽ  ヽx>、 __, イl |::::ヽ/. 
  | ∧__,ヘ}::ヘ三|:::::/l| |',:::::ハ  
  | ヾ_:::ッリ :::∨:/ | | >'''´
||<
>||
$ git diff my-first-tag
||<
>|aa|
           /.:.:.         \
              /:,:.:.:  /   ヽ    \
          /.:.l:.:.:/:/   :/  ', :l   ヾ`ー
            /!:.:.|:.: l/  〃 / j } :|    ハ
        /イ:.:.i|:.:.jL∠/_/ | /l.ム_/| l  l }  こうすると後から今の時点との diff を見ることができる
         N:.ハ:.:.:lィfアト/ レ ィ=ト | /| ∧j     
          ヽム:.} ii;_j    ii;リ ル iレヽ.   もちろん今は何も出力されない
                `ヘ:ゝ   _     小/     
                  ヾ:{>、 _ ィ<}/|/     
           _, ィr'´ヽ{ ___`} ヽ、_   
         /| l:|   | ===|   |:l゙ヽ   
          /  | l:l   l     l   l::l l
           l  ヽハ    l    l  //  |

     ____  
   /      \
  /  ─    ─\    なるほど…。.git/refs/heads/* はコミットの度に新しいSHA1が刻まれるが
/    (●)  (●) \  tags/* にその時点でのコミットを保存しておいて
|       (__人__)    |  後から参照できるようにするということかお
/     ∩ノ ⊃  /
(  \ / _ノ |  |
.\ “  /__|  |  
  \ /___ /  

           /.:.:.         \
              /:,:.:.:  /   ヽ    \
          /.:.l:.:.:/:/   :/  ', :l   ヾ`ー
            /!:.:.|:.: l/  〃 / j } :|    ハ
        /イ:.:.i|:.:.jL∠/_/ | /l.ム_/| l  l }  説明つきタグは git のオブジェクト
         N:.ハ:.:.:lィfアト/ レ ィ=ト | /| ∧j     
          ヽム:.} ii;_j    ii;リ ル iレヽ.   tree にコミットメッセージを付けて commit オブジェクトが生成されたように
                `ヘ:ゝ   _     小/     commit にメッセージや署名を加えて tag オブジェクトを生成する
                  ヾ:{>、 _ ィ<}/|/     
           _, ィr'´ヽ{ ___`} ヽ、_   
         /| l:|   | ===|   |:l゙ヽ   
          /  | l:l   l     l   l::l l
           l  ヽハ    l    l  //  |
||<
>||
$ git tag -s <tagname>
||<
>|aa|
     /⌒  ⌒\
   /( ●)  (●)\  またエディタが起動したお!
  /::::::⌒(__人__)⌒::::: \ ここにリリース用のメッセージなんかを書けばいいお?
  |     |r┬-|     | ZZ で保存だお!
  \      `ー'´     /

       ____
     /ノ   ヽ、_\
   /( ○)}liil{(○)\
  /    (__人__)   \ なんかエラーが出たお!
  |   ヽ |!!il|!|!l| /   |
  \    |ェェェェ|     /


     , '´ ̄ ̄` ー-、     
   /   〃" `ヽ、 \    
  / /  ハ/     \ハヘ   -s は PGP 署名をするから ちゃんと設定してないとエラーが出るかもね
  |i │ l |リノ    `ヽ}_}ハ.  -a でやれば署名をしないよっ
  |i | 从 ●     ●l小N   
  |i (| ⊂⊃ 、_,、_, ⊂li|ノ    
  | i⌒ヽ j  (_.ノ   ノi|__/⌒) 
  | ヽ  ヽx>、 __, イl |::::ヽ/. 
  | ∧__,ヘ}::ヘ三|:::::/l| |',:::::ハ  
  | ヾ_:::ッリ :::∨:/ | | >'''´


       ____
     /⌒  ⌒\  なんだお!
   /( ●)  (●)\  そういう事は先に言うお!
  /::::::⌒(__人__)⌒::::: \ 
  |     |r┬-|     | 
  \      `ー'´     /

||<
>||
$ git tag -a my-annotated-tag
||<
>|aa|
     , '´ ̄ ̄` ー-、     
   /   〃" `ヽ、 \    
  / /  ハ/     \ハヘ   .git/refs/tags/my-annotated-tag は tag オブジェクトへの参照になっているはずだよっ
  |i │ l |リノ    `ヽ}_}ハ.  
  |i | 从 ●     ●l小N   
  |i (| ⊂⊃ 、_,、_, ⊂li|ノ    
  | i⌒ヽ j  (_.ノ   ノi|__/⌒) 
  | ヽ  ヽx>、 __, イl |::::ヽ/. 
  | ∧__,ヘ}::ヘ三|:::::/l| |',:::::ハ  
  | ヾ_:::ッリ :::∨:/ | | >'''´
||<
>||
$ git cat-file -t `cat .git/refs/tags/my-first-tag`
commit
$ git cat-file -t `cat .git/refs/tags/my-annotated-tag`
tag
||<
>|aa|
           /.:.:.         \
              /:,:.:.:  /   ヽ    \
          /.:.l:.:.:/:/   :/  ', :l   ヾ`ー
            /!:.:.|:.: l/  〃 / j } :|    ハ
        /イ:.:.i|:.:.jL∠/_/ | /l.ム_/| l  l }  …説明つきタグはリリース時に
         N:.ハ:.:.:lィfアト/ レ ィ=ト | /| ∧j      軽いタグは自分用に使うといい
          ヽム:.} ii;_j    ii;リ ル iレヽ.   
                `ヘ:ゝ   _     小/     
                  ヾ:{>、 _ ィ<}/|/     
           _, ィr'´ヽ{ ___`} ヽ、_   
         /| l:|   | ===|   |:l゙ヽ   
          /  | l:l   l     l   l::l l
           l  ヽハ    l    l  //  |
||<
>|aa|
     , '´ ̄ ̄` ー-、     
   /   〃" `ヽ、 \    
  / /  ハ/     \ハヘ   これで git の 4種類のオブジェクトが全部出てきたね!
  |i │ l |リノ    `ヽ}_}ハ.  次はリポジトリの移動についてだよっ!
  |i | 从 ●     ●l小N   
  |i (| ⊂⊃ 、_,、_, ⊂li|ノ    
  | i⌒ヽ j  (_.ノ   ノi|__/⌒) 
  | ヽ  ヽx>、 __, イl |::::ヽ/. 
  | ∧__,ヘ}::ヘ三|:::::/l| |',:::::ハ  
  | ヾ_:::ッリ :::∨:/ | | >'''´
||<

0 comments on commit 83153f2

Please sign in to comment.