git diff branch1 branch2
を実行する
前のステップでは、git log
を使用して、履歴の異なる部分に存在するコミットを確認しました。今度は、git diff
コマンドを使用して、異なる時点間または異なるブランチ間の実際の 変更内容 を確認しましょう。これは、タイムマシンの 2 つのバージョンを比較して、どの部分が追加、削除、または変更されたかを正確に確認するようなものです。
まず、プロジェクトディレクトリにいることを確認しましょう。
cd ~/project/my-time-machine
現在、master
という 1 つのブランチしかありません。ブランチの比較をデモンストレーションするために、feature-branch
という新しいブランチを作成しましょう。ブランチは、新しい機能や実験をメインのタイムライン (master
) に影響を与えることなく作業できる別のタイムラインと考えてください。
git branch feature-branch
次に、新しいブランチに切り替えましょう。
git checkout feature-branch
ブランチが切り替わったことを示す出力が表示されるはずです。
Switched to branch 'feature-branch'
この新しいブランチで、message.txt
ファイルに変更を加えましょう。
echo "Adding a line on the feature branch." >> message.txt
このコマンドは、message.txt
ファイルに新しい行を追加します。
次に、この変更を feature-branch
でコミットしましょう。
git add message.txt
git commit -m "Add a line to message.txt on feature branch"
コミット後、以下のような出力が表示されるはずです。
[feature-branch a1b2c3d] Add a line to message.txt on feature branch
1 file changed, 1 insertion(+)
これで、異なるコミット履歴を持つ 2 つのブランチ (master
と feature-branch
) ができました。master
ブランチには最初の 2 つのコミットがあり、feature-branch
にはそれら 2 つのコミットに加えて、さっき行った新しいコミットがあります。
git diff
を使用して、master
ブランチと feature-branch
の間の差分を確認しましょう。
git diff master feature-branch
出力には、2 つのブランチ間で異なる行が正確に表示されます。
diff --git a/message.txt b/message.txt
index a1b2c3d..e4f5g6h 100644
--- a/message.txt
+++ b/message.txt
@@ -1 +1,2 @@
Hello, Future Me
+Adding a line on the feature branch.
この出力は、message.txt
ファイルが異なることを示しています。+
で始まる行は、master
ブランチと比較して feature-branch
で追加された行を示しています。
git diff
を使用することは、プロジェクトの異なるバージョン間または異なるブランチ間で正確に何が変更されたかを理解するために非常に強力です。これにより、マージする前に変更内容をレビューし、特定の変更が行われた場所を特定するのに役立ちます。
q
を押して差分表示を終了し、コマンドラインに戻ります。