これからファイルの更新差分を表示したり、ファイルの更新をキャンセルしたり、過去のファイル内容に復元などの操作をしてみます。
ただしそれらの操作を実行するためには操作対象のコミットを指定しなければいけませんので、まずはコミットの指定方法について説明します。
はじめに HEAD を使う方法を説明します。
HEAD はローカルリポジトリの最新コミットを示す識別子ですが、HEADの後に「~」(チルダ)を追加することで過去のコミットを指定する識別子になります。
例えば状態9のコミットにHEAD+チルダ形式の識別子を付けると次のようになります。
ローカルリポジトリの所を見て下さい。
状態 9 (HEAD+チルダ形式)
ワーキングツリー
インデックス
ローカルリポジトリ「gitlocal」
HEAD
"piyo.txtを更新(S9)"
|
← |
HEAD~
"hoge.txtを更新(S8)"
|
← |
HEAD~2
"piyo.txtを追加(S5)"
|
← |
HEAD~3
"hoge.txtを追加(S4)"
|
さて、少し前のコミットならチルダを使って指定しても良いのですが、かなり前のコミットだと HEAD から数えていくつ前になるのか分からなくなります。
その場合は git log コマンドで出てくる「リビジョン番号」(ハッシュ値とも言います)を使ってコミットを指定します。
さてこれで対象となるコミットの指定方法が分かりましたので、試しに演習で git show コマンドを使って過去のコミットで何をしたのか確かめてみましょう。
git show コマンドの構文は次の通りです。