コミットの比較

コミットの比較

ファイルを更新すると、「意図した通りに更新できているかな?」や「意図していないところを更新していないかな?」とファイルの更新前後の差分を確認したくなるときがあると思います。
このようなときは git diff コマンドを使いましょう。
このコマンドは指定した2点間のファイルの差分を確認できます。

git diff

DEMO
今回は sample.txt の内容を「APPLE」から「ORANGE」に上書きして差分を確認してみましょう。 以下のコマンドで上書きと更新前後の差分の確認をしてみましょう。

echo ORANGE > sample.txt
git diff
diff --git a/sample.txt b/sample.txt
index e427984..fd0eebf 100644
--- a/sample.txt
+++ b/sample.txt
@@ -1 +1 @@
-HELLO
+ORANGE

+マークは追加された行で、-マークは削除された行を意味しています。
上記の実行結果では -HELLO は HELLO が削除されたということ、 +ORANGE は ORANGE が追加されたということがわかります。

また、以下のコマンドで、現在のファイルと指定したコミットの差分を確認することができます。

git diff [コミットのハッシュ値]

また、特定のコミット間の比較をすることもできます。

git diff [比較元のコミットのハッシュ値] [比較先のコミットのハッシュ値]

ローカルリポジトリ内だけでなく、リモートブランチとも差分を比較することができます。
この場合はあらかじめ比較先のリモートブランチについて git fetch コマンドで参照をダウンロードしておきましょう。

git fetch origin [リモートリポジトリのブランチ名]
git diff [ローカルリポジトリのブランチ名] origin/[リモートリポジトリのブランチ名]