1. ホーム
  2. 記事一覧
  3. コミットの詳細情報を表示する「git show」とは?

2024.05.06

コミットの詳細情報を表示する「git show」とは?

アプリ開発において「Git」は必須スキルとなってきます。Gitの基本コマンドは知っているけど他のコマンドはよく知らない、Gitコマンドをもっと知って便利に使いたい!と思っている方、 特定のコミットにおけるコードの変更を具体的に見たい! という方向けに、この記事では「git show」の解説をします。

GitについてはエンベーダーのLinux応用コースで詳しく学ぶことができます。

https://envader.plus/course/5/scenario/1055

様々なGitコマンドを習得し、Gitマスターを目指しましょう!

「git show」でできること

  • 指定したコミットの作成者、日時などの詳細内容を表示
  • コミットに含まれるコードの変更差分を確認
  • タグが指すコミットの詳細を表示(タグについての記事はこちら

「git show」コマンドの開発現場での活用例

  • コミットの詳細確認

    特定のバグが報告された際、git showを使用して、そのバグが導入されたコミットの変更内容を詳細に確認します。これにより、バグの原因を直接的に理解することが可能です。

  • コード変更の評価

    新しいコードが導入された際、git showを使用してそのコミットの変更内容をレビューします。これにより、コードの変更が期待通りかを確認し、必要に応じてフィードバックを提供できます。

  • バージョン管理

    リリース前の最終確認として、リリースに関わるタグでgit showを実行して、リリースされるコンテンツを確認します。これにより、リリース準備の正確性を保証します。

「git show」の使い方

基本操作

指定したコミットまたはタグの詳細を表示します。

※ タグについては以下の記事を参照してください。

https://envader.plus/article/367

git show コミットID/タグ名

コマンド実行例

例として5a83...コミットのgit showを実行した結果です。(コミットIDは一意に特定できるのであれば、後半の大部分を省略可能です。)

git show 5a83

commit 5a8319e714707a2e8306c8d0f29dc7c1487ba164
Author: Fred <fred@example.com>
Date:   Mon Apr 22 20:55:24 2024 +0900

    [add]コンテナを起動するためのDockerfileを追加する

diff --git a/Dockerfile b/Dockerfile
index e69de29..c0f171f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -0,0 +1,10 @@
+FROM python:3.11
+
+WORKDIR /app
+
+COPY requirements.txt .
+RUN pip install --no-cache-dir -r requirements.txt
+
+COPY . .
+
+CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8888", "--reload"]

出力内容の詳細

  • コミットのメタデータ(コミットID、作者、日付など)
  • コミットに含まれる各ファイルの変更差分

「git show」のオプション

git showのオプションはいくつかありますが、今回は以下の3つを紹介します。

  • --stat
  • —-name-only
  • —-oneline

—-stat

変更されたファイル、追加された行数、削除された行数を表示します。

git show --stat 67151d

commit 67151de11443a2354e70a886b4a59edfeff5584e
Author: Risa <risa@example.com>
Date:   Tue Apr 30 22:03:21 2024 +0900

    [add]初期のReactコンポーネントを作成

 src/App.js                      |  10 +++++++++-
 src/components/Header.js        |   8 ++++++++
 src/components/Footer.js        |   6 ++++++
 src/index.js                    |   4 ++--
 public/index.html               |   2 +-
 package.json                    |   3 ++-
 6 files changed, 28 insertions(+), 5 deletions(-)

--name-only

変更されたファイルのリストのみを表示します。

git show --name-only 67151d

commit 67151de11443a2354e70a886b4a59edfeff5584e
Author: Risa <risa@example.com>
Date:   Tue Apr 30 22:03:21 2024 +0900

    [add]初期のReactコンポーネントを作成

src/App.js
src/components/Header.js
src/components/Footer.js
src/index.js
public/index.html
package.json

--oneline

結果表示の先頭にあるコミットメタデータを一行で簡潔に表示します。

git show --oneline 67151de

67151de [add]初期のReactコンポーネントを作成
// 以下はオプションなしの時と同様

まとめ

この記事ではGitコマンドの中のgit showについて学びました。git showは、コミットの詳細や変更差分を確認するのに役立ちます。開発現場での活用シーンは多岐にわたります。オプションを使いこなすことで、より効率的にgit showを活用できるようになるでしょう。実際にコマンドを実行して理解を深めていきましょう!

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事

2020.02.25

完全未経験からエンジニアを目指す爆速勉強法

USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

  • キャリア・学習法
  • エンジニア

2023.11.26

Git初心者必見!「git reset」と「git revert」の使い分け方

この記事の主な目的は「git reset (ギット リセット)」と「git revert(ギット リバート)」の基本的な使い方と、それぞれの適切な使用シチュエーションを理解してもらうことです。

  • プログラミング
  • インフラエンジニア
  • git

2023.11.26

gitのコミット履歴を整理するためにsquashを使いこなそう

Squashは、複数のコミットを1つのコミットにまとめる操作です。Squashを使用すると、コミットの履歴を整理したり、コミットのメッセージや変更内容を変更したりすることができます。

  • インフラエンジニア
  • git

2024.05.08

リリース管理に欠かせない!コミットにタグを付ける「git tag」コマンドの使い方

アプリ開発において「Git」は必須スキルとなってきます。Gitの基本コマンドは知っているけど他のコマンドはよく知らない、Gitコマンドをもっと知って便利に使いたい!と思っている方、また特定のコミットに普遍的な目印をつけたい!や、リリースバージョンを管理したい!という方向けに、この記事では「git tag」について解説します。

  • git