Git でローカルファイルをリモートのバージョンと diff する
以下のコマンドを実行するだけで、リモートとの差分を簡単に取得できます
$ git diff origin/master -- [local-path]
ローカルブランチとリモートブランチ
Git を使う上で、ローカルブランチとリモートブランチの違いを知っておくことは重要です。ローカルブランチは自分のマシン上にだけ存在するブランチで、他の開発者やリモートリポジトリとは共有されません。リモートブランチはリモートリポジトリ上に存在するブランチで、他の開発者がアクセスしたり、リモートリポジトリを通じて利用したりできます。
ローカルブランチは個人の開発、テスト、実験に使い、リモートブランチはコラボレーション、共有、デプロイに使います。ローカルブランチを作成すれば、リモートブランチに影響を与えることなく独立して作業できます。変更を他の人と共有する準備ができたら、ローカルブランチをリモートリポジトリにプッシュして、新しいリモートブランチを作成するか既存のブランチを更新します。
最新の変更を取得する
ローカルブランチとリモートブランチを比較する前に、リモートリポジトリから最新の変更を取得する必要があります。これにより、ローカルリポジトリがリモートリポジトリの最新の変更に追いついた状態になります。最新の変更を取得するには git fetch コマンドを使います。このコマンドは、マージすることなく、リモートリポジトリの最新の変更でローカルリポジトリを更新します。
Git Diff でファイルを比較する
Git Diff は、ローカルブランチとリモートブランチの間でファイルを比較するのに最適なツールです。Git Diff でファイルを比較するには、git diff コマンドの後に比較したいブランチ名を指定します。たとえば、ローカルブランチ main のファイルをリモートブランチ origin/main のファイルと比較するには、git diff main origin/main コマンドを使います。
Git Diff は 2 つのブランチ間の差分を表示し、ローカルブランチと比較してリモートブランチで加えられた変更をハイライトします。--stat オプションを使えば、追加、削除、変更された行数を示す差分の要約版を表示することもできます。
ローカルとリモートを比較する際のベストプラクティス
ローカルブランチとリモートブランチを比較する際は、正確で素早い結果を得るためにベストプラクティスに従うべきです。心に留めておきたいベストプラクティスをいくつか紹介します:
- ローカルブランチとリモートブランチを比較する前に、必ずリモートリポジトリから最新の変更を取得してください。
- ローカルブランチとリモートブランチのファイル比較には Git Diff を使ってください。
- --stat オプションを使うと、差分の要約版を表示できます。
- git log コマンドを使うと、ローカルブランチとリモートブランチのコミット履歴を比較できます。
- git status コマンドを使うと、ローカルブランチとリモートブランチの状態を確認できます。
高度な比較テクニック
Git Diff と Git Log に加えて、ローカルブランチとリモートブランチの比較に使える高度なテクニックがあります。いくつか紹介します:
- git difftool を使うと、グラフィカルな difftool でローカルブランチとリモートブランチのファイルを比較できます。
- git diff --name-only を使うと、ローカルブランチとリモートブランチ間で変更されたファイルを一覧表示できます。
- git diff --word-diff を使うと、単語単位で差分を表示できます。
- git diff --ignore-space-change を使うと、空白の変更を無視できます。
これで、ローカルブランチとリモートブランチを比較するためのツールが増えました。