差分を表示する
Gitリポジトリの変更点を確認する方法を学びましょう。
git diffとは?
git diff
は、Gitリポジトリの変更を確認するためのコマンドです。
git diff
を使うことで、現在のワーキングツリーと最新のコミットとの差分を表示できます。
git-practice
ディレクトリのhello.txt
ファイルを編集してみましょう。
コマンドラインのリダイレクトを使って、ファイルに追記します。
echo "Hello, Git!" >> hello.txt
次に、git diff
コマンドを実行して、変更点を確認します。
git diff
次のように表示されれば、変更点が確認できます。
diff --git a/hello.txt b/hello.txtindex 670a245..793bffa 100644--- a/hello.txt+++ b/hello.txt@@ -1 +1,2 @@ Hello, Git!+Hello, Git!
ステージングと差分の確認
先ほどはワーキングツリーの変更点を確認しましたが、ステージングエリアに追加した変更点も確認できます。
まず、変更をステージングエリアに追加します。
git add hello.txt
この状態でgit diff
コマンドを実行すると、何も表示されません。
git diff --cached
コマンドを実行して、ステージングエリアの変更点を確認します。
git diff --cached
次のように表示されれば、ステージングエリアの変更点が確認できます。
diff --git a/hello.txt b/hello.txtindex 670a245..793bffa 100644--- a/hello.txt+++ b/hello.txt@@ -1 +1,2 @@ Hello, Git!+Hello, Git!
コミットの練習
現状はステージングエリアに変更が追加されている状態です。
次に、これをコミットしてみましょう。
git commit -m "あいさつを追加"
コミットが成功したら、再度git diff
コマンドを実行してみてください。
git diff
git diff --cached
コミットにされているかどうかを確認するために、git log
コマンドを実行します。
git log
次のように表示されれば、コミットが成功しています。
commit f38acd13437690774b52ddd7b7d6b7cc53bfca5b (HEAD -> main)Author: tomoya yoshida <ihatov08@gmail.com>Date: Tue Jun 24 10:46:09 2025 +0900
あいさつを追加
commit 088492923f0e95c8026c06e1356e2db8c9c2be8c (origin/main)Author: tomoya yoshida <ihatov08@gmail.com>Date: Thu Jun 19 08:49:57 2025 +0900
newfile.txtを追加
commit a6ab34c365614882c9da6a747156f65c349e4cd8Author: tomoya yoshida <ihatov08@gmail.com>Date: Thu Jun 19 08:41:31 2025 +0900
hello.txtを追加
リモートリポジトリにプッシュする
次に、リモートリポジトリに変更をプッシュしてみますが、その前にgit status
コマンドを実行して、現在の状態を確認します。
git status
次のようなメッセージが表示されます。
On branch mainYour branch is ahead of 'origin/main' by 1 commit. (use "git push" to publish your local commits)
nothing to commit, working tree clean
英語ですが、
意味は
「現在のブランチはorigin/main
より1つのコミットが進んでいます。git push
を使ってローカルのコミットを公開できます。」
ということです。
origin/mainはリモートリポジトリの状態を指しています。
git remote add
コマンドで設定したリモートリポジトリの名前がorigin
で、ブランチ名がmain
です。
ブランチについてはこの後に詳しく学びます。
つまり次のような状態です。
ローカル(手元のパソコンのリポジトリ)
gitGraph commit id: "hello.txtを追加" commit id: "newfile.txtを追加" commit id: "あいさつを追加"
origin(リモートリポジトリ)
gitGraph commit id: "hello.txtを追加" commit id: "newfile.txtを追加"
念のためGitHubのリポジトリでも確認してみます。
前のレクチャーでインストールしたGitHub CLIを使うとターミナルからGitHubのリポジトリをブラウザで開くことができます。
gh browse
ブラウザが開いて、GitHubのリポジトリが表示されます。
リモートのリポジトリはコミットが2つしかないことを確認しましょう。
リモートリポジトリに修正を反映して、手元のパソコンにあるリポジトリの状態と同期させましょう。
(最新の状態にしましょう)
git push origin main
では、再度git status
コマンドを実行して、状態を確認します。
git status
次のように表示されれば、リモートリポジトリにプッシュが成功しています。
On branch mainYour branch is up to date with 'origin/main'.nothing to commit, working tree clean
英語ですが、意味は「現在のブランチはorigin/main
と同じ状態です。コミットする変更はありません。」ということです。
これでリモートリポジトリとローカルリポジトリの状態が同期されました。
つまり次のような状態です。
ローカル(手元のパソコンのリポジトリ)
gitGraph commit id: "hello.txtを追加" commit id: "newfile.txtを追加" commit id: "あいさつを追加"
origin(リモートリポジトリ)
gitGraph commit id: "hello.txtを追加" commit id: "newfile.txtを追加" commit id: "あいさつを追加"
次はブランチについて学びましょう。