こんにちは、@Manabu です。
Gitでバージョン管理を行っていると、ソースコードの変更内容を確認する場面が頻繁に訪れます。
特にコミット前に変更点を確認せずに誤った変更をコミットしてしまうと、意図しない問題が発生する可能性があります。そのため、変更内容を正確に把握してからコミットすることが非常に重要です。
Gitにはこのための便利なコマンドがいくつかあり、特に git diff は多様な使い方が可能な強力なツールです。
この記事では、Gitで変更内容を確認する方法として git diff コマンドの使い方を詳しく解説します。
git diffとは?
git diff コマンドは、Gitで変更された内容を確認するためのコマンドです。
基本的な使い方
基本的な使い方は、以下の通りです。
インデックス(git add)前の変更を確認
git diff
最後のコミットから、ワーキングディレクトリの変更点(インデックスに追加されていない変更)を表示します。
インデックス追加(git add)後、コミット前の変更を確認
git diff --cached
git diff --staged
最後のコミットから、インデックスに追加されたまだコミットされていない変更を表示します。
–cachedも–stagedも同じ意味になります。
特定のコミットとワーキングディレクトリ(git add前)の変更を確認
git diff <commit>
特定のコミットとワーキングディレクトリの変更点を比較します。
<commit>の部分には、差分を確認したいコミットのコミットID(例、1234567)が入ります。
2つのコミット間の変更を確認
git diff <commit> <commit>
コミットIDで指定した、二つのコミットの差分を確認することができます。
便利なオプション
オプションがいくつかあるので、便利なものを紹介します。
–name-only:変更したファイル名だけ表示
git diff --name-only
–name-only オプションをつけると、確認したいコミット間の変更したファイル名だけ表示させることができます。
–color:差分に色をつける
git diff --color
変更した内容以外の部分も表示されますが、–color オプションをつけることで、変更した部分だけ色をつけることが可能です。
–ignore-space-change :変更した空欄を省いた変更を確認
git diff --ignore-space-change
空白の量の変化(例: スペースが1つから複数に増えたなど)を無視します。
コードフォーマットの変更など、空白の変更だけを除外して実際のロジックの変更のみを確認したい場合に役立ちます。
–exit-code:差分があれば1を返す
gitt diff --exit-code
差分が存在する場合は終了ステータスコードが1、差分がなければ0で終了します。
自動化スクリプトやCI/CDパイプラインで、変更があるかどうかを判定し、その結果に基づいて次のステップを実行する場合に便利です。
まとめ
Gitのgit diffコマンドは、コミット前の変更点を確認するための強力なツールであり、さまざまなオプションを活用することで、より精度の高い差分の確認が可能です。
これらのコマンドとオプションを効果的に組み合わせることで、開発のミスを減らし、チーム全体の効率を高めることができます。