この投稿では、Gitの2つのブランチを比較する方法について説明します。

Gitの2つのブランチを比較する方法はいくつかあります。

1.git-diff

使用できます git-diff コミット間の変更または2つのブランチの先端間の変更を表示するコマンド。たとえば、次のコマンドは develop に対して分岐 master ブランチ。

git diff develop master

上記と同じ代替構文を次に示します。

git diff develop..master

の場合 develop ブランチは省略され、現在のブランチを使用するのと同じ効果があります。

git diff ..master

で発生したすべての変更を一覧表示するには master いつからブランチ develop ブランチはそれから始められました、使用

git diff develop...master

2つの異なるブランチにあるいくつかのファイルの違いを生成するには、次を使用できます。

git diff master develop -- path/to/file

stdoutの代わりに特定のファイルへの出力を生成するには、 --output オプション:

git diff master..develop --output=diffFile.diff

出力をファイルにリダイレクトすることもできます。

git diff master..develop > diffFile.diff

変更されたファイルの名前とステータスのみが必要な場合は、 --name-status オプション。一般的なステータスが追加されました (A)、コピー (C)、削除 (D)、変更 (M)、名前を変更 (R)。次のコマンドは、 master との分岐 develop ブランチ。

git diff --name-status master..develop

git diff --name-status

 
あなたは使用することができます --stat diffstatを生成するオプション。

git diff --stat develop..master

git diff --stat

2.git-merge

または、 git-merge とともに --no-ff--no-commit オプション。これにより、mergeコマンドによって現在のブランチが変更または更新されないことが保証されます。

たとえば、次のようにマージします master 変更をコミットせずに現在のブランチにブランチします。

git merge --no-commit --no-ff master

マージ後、gitkやgit-guiなどのGitビジュアルツールを使用して、違いを視覚化できます。完了したら、マージを中止できます --abort オプション。これにより、マージ前の状態が再構築されます。

git merge --abort

git-merge --no-commit

3.git-difftool

The git-difftool のフロントエンドです git-diff 同じオプションと引数を受け入れます。リビジョン間でファイルを比較および編集できます。

次のコマンドは、 develop に対して分岐 master ブランチ。

git difftool -d develop master

これで、Gitの2つのブランチを比較できます。