Git の 2つのコミットの違い

Abdul Jabbar 2023年1月30日
  1. git diff コマンド
  2. コミット間の git diff
Git の 2つのコミットの違い

Git は、今日の時代で最も要求の厳しいバージョン制御システムです。リポジトリ内の一部のデータを別のリポジトリで利用可能な他のデータソースと比較する必要がある状況に直面することがあります。ここでは、これらのリポジトリを比較する方法の例の 1つについて説明します。

この記事では、Git の git diff コマンドを使用して 2つの異なるコミットを比較します。

git diff コマンド

コマンド git diff は、インデックスや作業ツリー間の変更、2つの異なるタイプのツリー間の変更、マージの結果として発生する変更、2つの blob オブジェクト間で発生する変更、または変更の可能性があることを明らかにするために使用されます。同じディスク上の 2つの異なるファイル間。また、ファイルに含まれ、削除され、置き換えられたテキストを確認することもできます。

git diff コマンドの構文を以下に示します。

git diff

上記のコマンドは、現在のリポジトリへのコミットされていない変更を示しています。これはデフォルトのオプションとして機能します。

コミット間の git diff

Git には、私たちが毎日直面するあらゆる状況に対応する幅広いコマンドがあります。2つのコミットの違いを調べるために、Git が提供するコマンドは git diff であり、Git の diffing 機能をアクティブにします。

この機能は、2つの変数を入力として受け取り、それらの間の変更を提示することによって実行されます。変数は、それぞれのブランチでのファイルのコミットです。

ここでは、2つの Git コミット間でファイルを比較し、比較するコミットを参照する ref の名前を指定します。ここで、ref はコミット ID または HEAD と見なされ、最近のブランチを直接参照します。

上記の状況の構文は以下のとおりです。

git diff <commit1> <commit2>

2つのコミットの違いを確認するために、コミットハッシュを提供します。コミットハッシュは、完全な SHA-1 ハッシュ、小さな SHA-1 ハッシュ、または祖先パスにすることができます。

たとえば、Git リポジトリ内の 2つのコミットを比較しています。ファイルを比較するコミットの ID を回復するには、コマンド git log –pretty=oneline を実行します。現在のレポでのすべてのコミットの簡潔な結果が得られます。

git log --pretty=oneline

このコマンドの結果は次のようになります。

5141eaasasw323asassa2408bfcaassasa2323240 (HEAD ->; master) feat: Update README.md
3405340easagsdsaasa3232232395f1c2e docs: Create README.md

これら 2つのコミットを比較するとします。次のコマンドを実行します。

git diff 5141ea9c41qwqwqwqw3232saas3322323223a910f2405240 3405340ee99df2aa6f5a23aswwqwqqwqwqw95f1c2e

これまで見てきたように、diffing は、比較したい 2つのコミットにわたって上記のコマンドを介して実行され、結果にはこれら 2つのファイルの違いが示されます。

著者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

関連記事 - Git Diff