73

プルリクエストを送信する前に、GitHubリポジトリを使用してローカルファイルを作成しようとしdiffているので、何が表示されるかを確認できます。これを行う正確な方法はありますか?

GitHubの比較ツールがGitを操作すると思いますdiff

4

6 に答える 6

149

ローカルの作業ディレクトリをリモートブランチと比較するには、たとえば、origin / master

  1. git fetch origin master
    これは、「origin」という名前のリモートから「master」という名前のブランチをフェッチするようにgitに指示します。 作業ディレクトリ内のファイルには影響しgit fetchません。変更をマージしようとはしませんgit pull
  2. git diff --summary FETCH_HEAD
    リモートブランチがフェッチされると、FETCH_HEADを介してローカルで参照できます。上記のコマンドは、作業ディレクトリファイルをFETCHedブランチのHEADと比較し、結果を要約形式で報告するようにgitに指示します。要約形式は、変更の概要を示します。通常、開始するのに適した方法です。もう少し情報が必要な場合は、--statの代わりにを使用してください--summary
  3. git diff FETCH_HEAD -- mydir/myfile.js
    myfile.jsなどの特定のファイルへの変更を確認する場合は、--summaryオプションをスキップして、目的のファイル(またはツリー)を参照してください。

前述のようにorigin、リモートリポジトリをmaster参照し、そのリポジトリ内のブランチを参照します。デフォルトでは、gitはoriginリモートの名前を使用するため、git clone <url>デフォルトでそのリモートを呼び出しますorigin。ポイントをgit remote -v確認するために使用します。origin

複数のリモートがある場合があります。たとえば、GitHubでプロジェクトを「フォーク」する場合、通常、元のプロジェクトと独自のフォークを参照するリモートが必要です。https://github.com/yourusername/someprojectのフォークとして作成するとしますhttps://github.com/theoriginal/someproject。慣例により、リモートには元のリポジトリの名前を付けますがupstream、独自のフォークにはorigin。GitHubでフォークに変更を加え、それらの変更をローカルで取得する場合は、を使用しますgit fetch origin masterupstreamさらに変更を加える前にローカルで同期する必要がある変更を行った場合は、を使用しますgit fetch upstream master

于 2015-10-22T20:02:32.137 に答える
47

しないでくださいpull

  • do a fetch(構文はと同じですが、git pull自動的にマージされません)
  • diffdestブランチと他のブランチの間を実行します
  • その後、merge必要に応じて
于 2012-08-13T13:50:08.253 に答える
6

彼の「問題はWindowsとUnixLFでした」というOPのコメントによると、これは次のことに役立つはずです。

次の設定コマンドを使用して、 EOLコードgit-diffの違いを無視するように指示できます。

git config --global core.whitespace cr-at-eol
于 2013-11-14T01:43:42.870 に答える
3

次を使用できます。git diff remote/my_topic_branch my_topic_branch

my_topic_branchトピックブランチはどこにありますか。

于 2018-11-22T14:46:11.473 に答える
0

EGgitdiffマスターオリジン/マスター

于 2021-10-15T01:13:27.273 に答える
0

覚えておくべき重要事項: Git diffは、コミットされた2つのブランチ(リモートまたはローカル)間の違いを示します。

ステップ1)-ローカルでコミットする

したがって、最初のステップは、ローカルリポジトリをコミットしたことを確認することです。実行git statusして、ファイルが残っているかどうかを確認できます。

ファイルを追加する必要がある場合は、git add {filename}またはを実行してすべてのファイルを追加しますgit add .。次に、を実行し git commit -m "message"てローカルファイルをコミットできます。

ステップ2)-リモートからブランチを取得します

を使用してリモコンを取得できます git fetch origin master。以下のようなメッセージが表示された場合は、問題ありません。

branch            master     -> FETCH_HEAD

originはリポジトリであり、masterはそのリポジトリ内のブランチであることに注意してください。

ステップ3違いを確認する

git diff --summary FETCH_HEADこれで、変更を確認することも、確認することもでき git diff origin/master master --summaryます。

于 2022-02-11T17:27:57.140 に答える