古いタグをテストする
このステップでは、最新のコミットではない状態で git describe --tags
コマンドがどのように動作するかを調べます。これにより、このコマンドがタグに対するプロジェクト履歴上の自分の位置を理解するのにどのように役立つかを示します。
まず、プロジェクトディレクトリにいることを確認しましょう。
cd ~/project/my-time-machine
現在は、v1.1
というタグが付けられた最新のコミットにいます。再度 git describe --tags
を使って確認しましょう。
git describe --tags
出力は v1.1
になるはずです。なぜなら、現在のコミットはまさに v1.1
タグが指している場所だからです。
では、v1.0
タグを作成したコミットに戻りましょう。これには、git checkout
の後にタグ名を指定します。
git checkout v1.0
「detached HEAD」状態になったことを示す出力が表示されます。現時点では心配する必要はありません。これは、ブランチの先端ではなく、特定のコミットを見ていることを意味します。
Note: switching to 'v1.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command (for example,
'git switch -c <new-branch-name>'). Or, if you meant to switch to a number
of commits past an existing branch, what you probably want is to use
'git switch <branch-name>~<number>'.
Switched to a new branch 'v1.0'
v1.0
タグが付けられたコミットに移動したので、再度 git describe --tags
を実行しましょう。
git describe --tags
出力は単に次のようになるはずです。
v1.0
これは、現在のコミットがまさに v1.0
タグがある場所だからです。現在の位置と v1.0
タグの間にはコミットがありません。
v0.9
タグを作成したコミットに戻ってみましょう。
git checkout v0.9
再び、detached HEAD のメッセージが表示されます。
では、git describe --tags
を実行しましょう。
git describe --tags
出力は次のようになるはずです。
v0.9
これにより、git describe --tags
がコミット履歴上の現在の位置から最も近いタグを正しく識別することが確認できます。タグに対するコミットを説明するこの機能は、異なる時点でのプロジェクトの状態を理解するのに非常に便利です。
master
ブランチの最新のコミットに戻るには、次のコマンドを使います。
git checkout master
master
ブランチに戻ったことを示す出力が表示されるはずです。
Switched to branch 'master'
Your branch is up to date with 'origin/master'.