ブランチの差分を確認する - Git による版管理環境を構築する

SPECIAL


ブランチの差分を確認する

ワーキングコピーとステージングとの差分

現在編集中のワーキングコピーと、コミット候補として登録されたステージングされたファイルとの差分を確認するには、ワーキングコピーのディレクトリ上で、次のコマンドを実行します。

git diff

このようにすることで、ステージングされたファイルの内容からワーキングコピーの内容までの変更を diff による差分を取って、その内容を画面に表示してくれます。

このとき、新たに作成したファイルなど、まだ追跡対象として扱われていないファイルは、ワーキングコピーに存在していても、差分は取得されないようでした。

新しいファイルも差分の中に加味したい場合には、一度 "git add" で追跡対象としてステージングしておく必要があります。

ステージングとコミットとの差分

ステージングされたファイルとコミットされたファイルとの差分を取得したい場合は、次のように "--staged" オプションを指定します。

git diff --staged

このようにすることで、ワーキングコピーの内容ではなく、コミットされたファイルの内容からステージングされたファイルの内容までの変更が、diff による差分で取られて、それが画面に表示されました。

コミットとワーキングコピーとの差分

ワーキングコピーの内容と、直前にコミットした内容との差分を取得したい場合には、次のようにします。

git diff HEAD

このようにすることで、HEAD が指し示すブランチの直近のコミットの内容から、ローカルで編集中のワーキングコピーまでの間で生じた変更の差分を取得して、それを画面に表示することができるようでした。

二つのブランチ間の差分1

二つのブランチ間での差分を取得したい場合、例えば "v2.1.2" という名のブランチと、現在の "master" ブランチとの間の差分を取得する場合には、次のようにします。

git diff v2.1.2..master

このように、二つのブランチ名を、ドット 2 つ ("..") で繋げて記載することで、ここでは "v2.1.2" という名前のブランチの最終コミットの内容を起点に、ブランチの流れに関係なく、純粋に "master" という名前のブランチの最終コミットの内容までの間の変更の差分を取得して、それを画面に表示することができるようでした。

二つのコミット間の差分2

ここで、ドットを 3 つ使って、たとえば次のようにすると、先に指定したブランチと分岐したところの "共通の親ブランチ" から後に指定したブランチまでの差分を取得することができるようです。

git diff v2.1.2...master

つまり、後に指定したブランチについて、最初に指定したとあるブランチとの分岐点から、後に指定したブランチの現時点までの変更点の差分が取得できることになるようでした。

 

目次