HOWTO · Git

Git でファイルを任意のバージョンに差分する

Git では、1つのファイルを任意のバージョンと比較できます。

この記事では、単一のファイルを Git のバージョンに diff する方法について説明します。 リポジトリ内の特定のブランチに 30 回の反復があるファイルがある場合、現在のバージョンを他のバージョンと比較できます。

これを行う方法を見てみましょう。

Git でファイルを任意のバージョンに差分する

簡単に説明するために、master ブランチに 30 回の反復を含む README.md ファイルがあると仮定しましょう。 以下のコマンドを実行して、次のことができます。

$ git diff master~25:README.md README.md

現在の README.md ファイルを、25 リビジョン前の master ブランチのファイルと比較してください。 このコマンドは、古い README.md ファイルを作業ツリーのバージョンと比較することに注意してください。

master ブランチでコミットされたバージョンと比較するには、次を実行します。

$ git diff master~25:README.md master:README.md

または、コミットの SHA-1 を使用できます。 次の手順を実行します。

まず、必要なファイル バージョンでコミットの SHA-1 を取得します。 以下に示すように、git log コマンドを実行します。

$ git log --README.md

diff するバージョンの SHA-1 に注意して、以下のコマンドを実行します。

$ git diff SHA-1:README.md README.md

以下に示すように、このメソッドを使用して、リポジトリ内のサブディレクトリを diff することもできます。

$ git diff <revision>: bar/ HEAD:bar/
Note
リビジョン指定子を使用する場合、Windows ではディレクトリにスラッシュを使用します。

結論として、Git を使用すると、単一のファイル バージョンをリポジトリ内の任意のバージョンに diff することができます。 単一のファイルのリビジョン間で diff を行う方法について説明しました。