web-dev-qa-db-ja.com

ブランチ間の視覚的な差分のgit

この答えは、gitにチェックインされている2つのファイル間の視覚的な差分を見るのに最適です。 視覚的差分プログラムで 'git diff'の出力を表示するにはどうすればよいですか?

しかし、2つのブランチ間の視覚的な違いを確認したいと思います。これまでのところ、私の最善の策は次のようです。

git diff --name-status master dev

これはあまり有益ではなく、あまり視覚的でもありません。

もっと良いものはありますか?

181
Snowcrash

git diffrange を使用してください。

git diff branch1..branch2

これは各ブランチのヒントを比較します。

本当にGUIソフトウェアが欲しいなら、Mac OS XとWindowsをサポートする SourceTree のようなものを試すことができます。

216
alex

2つのブランチ間のすべての違いを視覚的に比較するには、マージをコミットせずに2つのブランチをマージし、次にgit guiまたはgit Extensionsを使用して違いの概要を確認します。

コミットせずにマージするためのGitコマンドライン

 git checkout branchA 
 git merge --no-commit --no-ff branchB 

それが終わったら、マージを元に戻すことができます。

 git merge --abort 

(コメントは@ jcugatさんへのh/t)

85
Tormod Hystad

Intellij Idea IDEを使用している場合は、ブランチでcompareオプションを使用することができます。

enter image description here

51
Kamal Reddy

これはgitkでも簡単にできます。

> gitk branch1 branch2

最初にbranch1の先端をクリックしてください。今度はbranch2の先端を右クリックして、「これを選択」 - >「選択」と選択します。

44
Martin

Windows上でTortoiseGitを使用している人のために、このややあいまいな機能を通して視覚的な比較をやや得ることができます。

  1. 比較したいフォルダに移動します
  2. shiftを押しながら右クリック
  3. TortoiseGitに移動 - >参照の参照
  4. 比較する2つの分岐を選択するにはctrlを使用してください。
  5. 選択を右クリックして[選択した参照を比較]をクリックします

ソース: http://wikgren.fi/compare-diff-branches-in-tortoise-git-or-how-to-preview-changes-before-doing-a-merge/

27
Oversearch

OSXまたはWindows 7以降を使用している場合は、 Atlassian SourceTree がこれに非常に適しています。これは無料。

あなたは段階的な差分設定で段階的な変更を見ることができます、そしてあなたは簡単にリモートと他の2つのブランチとローカルを比較します。複数のファイルを選択した場合、差分は以下のように表示されます。

enter image description here

機能ブランチをチェックアウトし、 'master'との差分を見たい場合は、 'master'ブランチを右クリックして[現在との差分]を選択します。

残念ながら、* nixディストリビューションで利用可能になるかのようには思えません いつでも

19
Jordan Parker

"difftool"を試してください(あなたがdiffツールをセットアップしていると仮定します) - https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html を見てください

要約には名前ステータスが適していますが、difftoolで変更が繰り返されます。 (そして-dオプションはあなたにディレクトリビューを与えます)、例えば.

$ git difftool their-branch my-branch

Viewing: 'file1.txt'
Launch 'bc3' [Y/n]:
...

あるいは@ rsilva4が-dで述べていて現在のブランチにデフォルト設定されているようにそれはただです。マスターと比較:

$  git difftool -d master..

...そしてはい - たくさんのバリエーションがあります--- https://www.kernel.org/pub/software/scm/git/docs/git-reset.html

13
Paul Kohler

Githubを使用している場合は、これにWebサイトを使用できます。

github.com/url/to/your/repo/compare/SHA_of_tip_of_one_branch...SHA_of_tip_of_another_branch

それはあなたに2つの比較を見せるでしょう。

8
Arron

GitExtensions では、リビジョングリッドで両方のブランチを選択できます。 Ctrl 押されました。それからあなたはそれらの枝の間で異なるファイルを見ることができます。ファイルを選択すると、それに対する差分が表示されます。

から取られた ここ

8
Mahmoodvcs

更新

Mac:私は今SourceTreeを使っています。徹底的にお勧めします。私はあなたがステージ/ステージを切ることができる方法を特に好きです。

Linux:私は成功しました:

  • スマートギット
  • GitKraken
  • meld

例えば。 Ubuntuにsmartgitをインストールする方法:


これは仕事をします:

meldのようなGUI差分ツールを使ったgit-diffall。ここでポイント5を見てください:

http://rubyglazed.com/post/15772234418/git-ify-your-command-line

Gitとmeldについての素晴らしい記事がここにあります: http://nathanhoad.net/how-to-meld-for-git-diffs-in-ubuntu-hardy

7
Snowcrash

これを行うには、Perforceの無料のP4Mergeを使用できます。

http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

enter image description here

Gitとの統合に関する詳細は こちら そして こちら をご覧ください。

しかし、上記のリンクからの簡単な要約は以下のとおりです。

  • 以下のビットを〜/ .gitconfigに入れると、p4mergeを使うために$ git mergetool$ git difftoolを実行できます。
  • $ git diffはまだデフォルトのインライン差分ビューアを使うだけです:)(gitバージョン1.8.2でテストされています)

.gitconfigに対する変更

[merge]
  keepBackup = false
    tool = p4merge
[mergetool "p4merge"]
    cmd = /Applications/p4merge.app/Contents/Resources/launchp4merge "\"$PWD/$BASE\"" "\"$PWD/$REMOTE\"" "\"$PWD/$LOCAL\"" "\"$PWD/$MERGED\""
    keepTemporaries = false
    trustExitCode = false
    keepBackup = false
[diff]
    tool = p4merge
[difftool "p4merge"]
    cmd = /Applications/p4merge.app/Contents/Resources/launchp4merge "\"$REMOTE\"" "\"$LOCAL\""
4
Brad Parks

Eclipseを使用している場合は、ワークスペース上の現在のブランチを別のタグ/ブランチと視覚的に比較できます。

Eclipse workspace compare

4

優れたWebStormエディタを使用している場合は、好きなブランチと比較できます。 Webstorm git compare

2
Nico

コアgit機能を使ってできることはたくさんあります。視覚的な差分に含めるものを指定するのが良いかもしれません。ほとんどの回答はコミットの行ごとの差分に焦点を当てています。ここでは、特定のコミットで影響を受けるファイルの名前に焦点を当てています。

対処されていないように見えるビジュアルの1つは、ブランチに含まれているコミットを(共通か一意かを問わず)確認する方法です。

このビジュアルのために、私はgit show-branchの大ファンです。それはブランチごとのよく体系化されたコミット表を共通の先祖に振り分けます。 - 分岐のある複数のブランチでレポジトリを試すには、git show-branchと入力して出力を確認してください - 例を挙げた記事については、 Gitブランチ間のコミットの比較 を参照してください。 )

0
Kay V

これは、Visual Studio(VS 2017でテスト済み)で、単一ファイルとは対照的に、コミット全体の視覚的な違いを確認する方法です。残念ながら、これは1つのブランチ内のコミットに対してのみ機能します。「チームエクスプローラ」で、「ブランチ」ビューを選択し、レポジトリを右クリックして、次の図のように「履歴表示」を選択します。

enter image description here

現在のブランチの履歴がメインエリアに表示されます。 Ctrlキーを押しながら左キーを押してコミットをいくつか選択し、右クリックしてポップアップメニューから[コミットの比較...]を選択します。

Microsoftの世界でブランチを比較する方法の詳細については、次のstackoverflowに関する質問を参照してください。 Visual Studioを使用したgitブランチ間の違い

0