2012-08-13 8 views
37

私はプルリクエストを送信する前にGitHubリポジトリのローカルファイルdiffを表示しようとしていますが、これを行う正確な方法はありますか?私はGitHubの比較ツールがGitのdiffを操作すると仮定しますか?git diffとリモートとローカルリポジトリの間で

+1

テキストファイルに送信することなくgit diffを実行できます。コンソールでの表示は、一般的に私の意見では効率的です。 –

+0

@dystroy私は知っているが、私の問題はWindowsとUnixのLFだったので、ファイル全体がdiff'dとして追跡されていた。私はそのような大きな出力に対してコンソールが非効率であることを発見しました。 – Terry

+0

Windowsでどのツールを使用していますか?私はmsysgitの標準的なパラメータ化がこれを自動的に処理すると思います。 –

答えて

34

pullをしないでください。

  • fetch(構文はgit pullと同じですが、それは自動的にマージされません)
  • は、あなたのdestのブランチと他の間diffをしますかブランチ
  • その後、あなたは彼の「問題の一部は、U対WindowsのあったことをOPさんのコメントパー
2

をしたい場合mergeを行いますこれは助けてください:

次のconfigコマンドを使って、git-diffにeolコードの違いを無視させることができます。リモートブランチに対するローカルの作業ディレクトリを比較すること

git config --global core.whitespace cr-at-eol 
54

、例えば起源/マスター

  1. git fetch origin master
    これは、 'マスター' という名前のブランチをフェッチするためにgitを伝えます遠隔地の「起源」からのものです。 Git fetchは作業ディレクトリ内のファイルに影響します。 git pullのような変更をマージしようとしません。
  2. git diff --summary FETCH_HEAD
    リモートブランチがフェッチされるとき、それはFETCH_HEADを介して局所的に参照することができます。上記のコマンドは、gitにFETCHされたブランチのHEADに対して作業ディレクトリファイルを比較させ、その結果を要約形式で報告するよう指示します。サマリー形式は変更の概要を示します。通常は開始するのに適しています。
  3. git diff FETCH_HEAD -- mydir/myfile.js
    あなたは、例えばmyfile.jsのために、特定のファイルへの変更を参照してください --summaryオプションをスキップして、必要なファイル(またはツリー)を参照したい場合は
+0

Upvotingそれを行うから他の回答よりも詳細を提供します。 – paxdiablo

+2

コンテキストの詳細と説明については、誰かがこの質問をしているのであれば、おそらくgitで始まっているはずです。文脈をはっきりと説明することは、あなたが新しい技術のまわりで頭を抱えようとしているときに重要であり、決して傷つけることはありません。 –

+4

私は以下を追加します:2b。 '--summary'が充分でない場合、' git diff --stat FETCH_HEAD'を実行してより多くの情報を提供します。 – Randall

関連する問題