ノート:プルリクエストを作成する際には、変更の比較対象となるbaseブランチを変更できます。 詳しい情� �についてはプルリクエストの作成を参照してく� さい。
You can view proposed changes in a pull request in the Files changed tab.
コミットそのものを見るよりは、プルリクエストがマージされた際に提案された変更がファイルに現れるのを見ることができます。 Files changed(変更されたファイル)タブ内では、ファイルはアルファベット� �に表示されます。 ファイルへの追� は緑で表示され、先� �に+
サインが付きます。削除されたコンテンツは赤で表示され、先� �に-
サインが付きます。
diff 表示の選択肢
ヒント: 変更した理由を把握しづらい� �合、[File changed] タブ中の [View] をクリックして、提案された変更中のファイル全体を表示させることができます。
diff の見方には複数の選択肢があります。
- 統合ビューでは、更新分と既存の内容が線形ビューに一緒に表示されます。
- 分割ビューでは、古い内容が片側に、新しい内容が反対側に表示されます。
- リッチ diff ビューでは、プルリクエストがマージされたときに変更がどのように見えるかのプレビューが表示されます。
- ソースビューでは、ソース内の変更がリッチ diff ビューのフォーマットなしで表示されます。
プルリクエスト中の大きな変更をもっと正確に表示するために、空白の変更を無視するよう選択することもできます。
大規模なプルリクエスト中の変更のレビューを簡� 化するために、選択されたファイルタイプ� けを表示、CODEOWNERS であるファイルを表示、表示したことのあるファイルを非表示、または削除されたファイルを非表示にするように diff をフィルタリングできます。 詳しい情� �については、「プルリクエスト内のファイルをファイルタイプでフィルタリングする」を参照してく� さい。
diffが表示されない理由
- ファイルあるいは特定のファイルタイプの合計での制限を超えた。 For more information, see "About repositories."
- ファイルが、デフォルトで表示をブロックするリポジトリの.gitattributesファイルのルールにマッチした。 詳しい情� �についてはGitHubでの変更されたファイルの表示方法のカスタマイズを参照してく� さい。
スリードットおよびツードット Git diff での比較
There are two comparison methods for the git diff
command; two-dot (git diff A..B
) and three-dot (git diff A...B
). By default, pull requests on GitHub show a three-dot diff.
Three-dot Git diff comparison
The three-dot comparison shows the difference between the latest common commit of both branches (merge base) and the most recent version of the topic branch.
Two-dot Git diff comparison
The two-dot comparison shows the difference between the latest state of the base branch (for example, main
) and the most recent version of the topic branch.
GitHub 上で、ツードット diff を比較する際に 2 つの committish のリファレンスを見たい� �合には、リポジトリの [Comparing changes] ページの URL を編集できます。 詳しい情� �については Pro Git ブックサイトの Git 用語集の "committish" を参照してく� さい。
たとえば、以下のURLは短縮された7文字のSHAコードを使ってc3a414e
とfaf7c6f
のコミットを比較しています。 https://github.com/github/linguist/compare/c3a414e..faf7c6f.
.
ツードット diff は SHA あるいは OID (Object ID) など、2 つの Git の committish 参照を直接互いに比較します。 GitHub では、ツードット diff での比較中の Git の committish 参照は、同じリポジトリあるいはそのフォークにプッシュされなければなりません。
プルリクエスト中でツードット diff をシミュレートし、各ブランチの最新バージョン同士の比較を見たい� �合には、ベースブランチをトピックブランチにマージできます。そうすれば、ブランチ間の最後の共通の祖先が更新されます。
変更を比較するための Git コマンドに関する詳しい情� �については、Pro Git ブックサイトの「Git diff のオプション」を参照してく� さい。
About three-dot comparison on GitHub
Since the three-dot comparison compares with the merge base, it is focusing on "what a pull request introduces".
When you use a two-dot comparison, the diff changes when the base branch is updated, even if you haven't made any changes to the topic branch. Additionally, a two-dot comparison focuses on the base branch. This means that anything you add is displayed as missing from the base branch, as if it was a deletion, and vice versa. As a result, the changes the topic branch introduces become ambiguous.
In contrast, by comparing the branches using the three-dot comparison, changes in the topic branch are always in the diff if the base branch is updated, because the diff shows all of the changes since the branches diverged.
Merging often
To avoid getting confused, merge the base branch (for example, main
) into your topic branch frequently. By merging the base branch, the diffs shown by two-dot and three-dot comparisons are the same. We recommend merging a pull request as soon as possible. This encourages contributors to make pull requests smaller, which is recommended in general.