1. 導入:なぜgit showが重要なのか
プログラミングをしていると、「数日前に書いたあのコード、どうなっていたかな?」「今のブランチのこのファイル、中身をサクッと確認したい」といった場面に遭遇しませんか?そんな時、わざわざエディタで過去のコミットを辿ったり、複雑なログを検索したりするのは時間がかかります。
git showコマンドを使えば、特定のコミットの内容や、過去のファイルの状態を即座に確認できます。トラブルシューティングの初動や、コードレビューの効率化に欠かせない非常に便利なコマンドです。
2. 基礎知識:Gitのオブジェクトとは
Gitでは、コミットやファイルなどの情報を「オブジェクト」として管理しています。
・コミット:作業の履歴の塊。
・ハッシュ値:各オブジェクトに付与される、ユニークな英数字の識別子(例:a1b2c3d…)。
`git show`は、このハッシュ値を指定することで、その時点で行われた変更内容(差分)と、コミットメッセージなどのメタデータを一度に表示してくれるコマンドです。
3. 実装/解決策:git showの基本操作
基本的には、ターミナルで対象となるハッシュ値を指定して実行します。また、コロン(:)を使うことで、特定のコミット時点でのファイルの中身だけを表示することも可能です。
・特定のコミットを表示
git show [ハッシュ値]
・特定のコミットのファイル中身を表示
git show [ハッシュ値]:[ファイルパス]
4. サンプルプログラム:実践的なコマンド例
以下のコマンドは、実際の開発現場で特によく使うパターンです。そのままコピーして試してみてください。
1. 直近のコミット(HEAD)の変更内容を確認する
最後に何を変更したのか確認するのに最適です
git show HEAD
2. 過去の特定のコミットの内容を詳細表示する
ハッシュ値は git log で調べたものに置き換えてください
git show a1b2c3d
3. 現在のブランチにある「package.json」の最新の中身を表示する
エディタを開かずに中身を確認したい時に便利です
git show HEAD:package.json
4. 過去の特定のコミット時点でのファイルの中身を表示する
「以前のバージョンではこの関数はどう書かれていたか」を確認できます
git show a1b2c3d:src/main.js
5. 応用・注意点:現場での活用ポイント
・情報の見方
`git show`の結果には、変更箇所がdiff形式で表示されます。「+」は追加された行、「-」は削除された行です。これを見ることで、何がどう変わったのかを一目で把握できます。
・ハッシュ値の省略
長いハッシュ値をすべて入力するのは大変です。Gitでは、ハッシュ値の先頭7文字程度を入力すれば、自動的に該当するコミットを特定してくれます。
・注意点
`git show`はあくまで「表示」するコマンドであり、ファイルを直接書き換えることはありません。そのため、安心して実行して大丈夫です。ただし、大量のファイルを変更した巨大なコミットに対して実行すると、ターミナルの画面が埋め尽くされてしまうため、その場合は `git show –stat [ハッシュ値]` と打つと、ファイル一覧(要約)だけを表示できるのでおすすめです。
まずは自分のリポジトリで `git show HEAD` を打つところから始めてみましょう!

コメント