Skip to main content

Reviewing proposed changes in a pull request

Review commits, file changes, and diffs in pull requests to provide feedback, approve changes, or request updates before merging.

Tool navigation

About reviewing pull requests

It's best to review changes in a pull request one file at a time:

  • Examine each individual file changed in the pull request.
  • Leave comments on specific changes.
  • After reviewing a file, mark it as Viewed to collapse it and track your progress.
  • The progress bar in the pull request header shows how many files you've viewed.
  • When you've finished, you can approve the pull request or request changes by submitting your review with a summary comment.

If the pull request was raised by GitHub Copilot, then Copilot will respond to your comments when you submit them. Copilot will push a new commit to the pull request with further changes. See Informationen zu GitHub Copilot Cloud-Agent.

Understanding the purpose of the pull request

Understanding the motivation behind a pull request helps you keep your review targeted and meaningful. It also helps you provide feedback that aligns with the pull request author’s intent and the project's goals.

You have several options to better understand the context and rationale for proposed changes.

Using the pull request sidebar for context

In the pull request sidebar, you can find valuable context, including:

  • Linked issues or discussions: Review these to understand the problems or goals that the pull request aims to address. You can also gather information about background, design decisions, or current debates.
  • Linked projects or milestones: Review how this pull request fits within larger projects or upcoming releases.

Use this information to frame your review and check if the goals of the pull request align with the original intent.

Using Copilot-Chat to understand the rationale

You can ask Copilot-Chat for help understanding the pull request’s intent or clarifying any part of the change.

  1. At the top right of the pull request page, click the button next to the search bar.

    Copilot-Chat is displayed, with the pull request attached as context to the prompt window.

  2. In the prompt box, type a question and press Enter. For example, you could enter:

    • What problem does this pull request solve?
    • Why were these changes needed?
    • Summarize the goals of this PR based on the linked issue.
    • How does this PR relate to issue ISSUE-URL?

Copilot-Chat can help you clarify the bigger picture before you start line-level review.

Starting a review

  1. Klicke unter dem Namen deines Repositorys auf Pull requests.

    Screenshot der Hauptseite eines Repositorys. In der horizontalen Navigationsleiste ist eine Registerkarte mit der Bezeichnung „Pull Requests“ dunkelorange umrandet.

  2. Klicke in der Liste der Pull Requests auf den Pull Request, den Du überprüfen möchtest.

  3. Klicke im Pull Request auf Files changed.

    Screenshot der Registerkarten für einen Pull Request. Die Registerkarte „Dateien geändert“ ist dunkelorange umrandet. To change the format of the diff view in this tab, click and choose the unified or split view. The choice you make will apply when you view the diff for other pull requests.

    Screenshot of the "Files changed" tab for a pull request. The "Diff view" menu is outlined in dark orange.

    You can also hide whitespace differences. The choice you make only applies to this pull request and will be remembered the next time you visit this page.

  4. Optionally, filter the files to show only the files you want to review or use the file tree to navigate to a specific file.

  5. Bewege den Mauszeiger über die Codezeile, der du einen Kommentar hinzufügen möchtest, und klicke auf das blaue Kommentarsymbol.

    Screenshot eines Diffs in einem Pull Request. Das blaue Pluszeichensymbol neben einer Zeilennummer ist orange umrandet.

  6. Optional können Sie einen Kommentar zu mehreren Zeilen hinzufügen. Wenn Sie einen Zeilenbereich auswählen möchten, klicken Sie auf die Zeilennummer der ersten Zeile, die Sie kommentieren möchten, und ziehen Sie dann entweder nach unten zur letzten Zeile, oder halten Sie die UMSCHALTTASTE gedrückt, und klicken Sie auf die letzte Zeilennummer. Sie können dann auf das blaue Kommentarsymbol in der letzten Zeile klicken, zu der Sie kommentieren möchten. Alternativ können Sie auf das blaue Kommentarsymbol neben der ersten Zeile klicken, die Sie kommentieren möchten, und dann nach unten zur letzten Zeile ziehen, zu der Sie einen Kommentar abgeben möchten.

  7. Gib im Kommentarfeld Deinen Kommentar ein.

  8. Optional: Wenn du eine bestimmte Änderung an einer oder mehreren Zeilen vorschlagen möchtest, klicke auf , und bearbeite dann den Text im Vorschlagsblock.

    Screenshot: Kommentarfeld für eine Überprüfung. Das Symbol für Dateiunterschiede, das eine bestimmte Änderung anzeigt, ist dunkelorange umrandet.

  9. Um eine Datei direkt zu kommentieren, klicke rechts neben der Datei auf , und gib deinen Kommentar ein.

    Screenshot: Bilddatei auf der Seite „Geänderte Dateien“ eines Pull Requests. Rechts neben der Datei ist ein Kommentarsymbol orange umrandet.

  10. When you're done, click Start a review. If you have already started a review, you can click Add review comment.

Before you submit your review, your line comments are pending and only visible to you. You can edit pending comments anytime before you submit your review. To cancel a pending review, including all of its pending comments, click Review changes, then click Abandon review.

Screenshot of the comment field for a review. The "Abandon review" button is outlined in dark orange.

Reviewing a pull request

You can use GitHub Codespaces to test, run, and review pull requests.

  1. Open the pull request in a codespace, as described in Verwenden von GitHub Codespaces für Pullanforderungen.

  2. In the Activity Bar, click the GitHub Pull Request view. This view only appears when you open a pull request in a codespace.

    Screenshot of the VS Code Activity Bar. The mouse pointer is hovering over an icon displaying the tooltip "GitHub Pull Request."

  3. To review a specific file, click the Open File icon in the Side Bar.

    Screenshot of the "GitHub Pull Request" side bar. A file name is highlighted with a dark orange outline.

  4. To add review comments, click the + icon next to the line number. Type your review comment and then click Start Review.

    Screenshot of a comment being added, reading "Yes, I agree, this is clearer." The "Start Review" button is shown below the comment.

  5. Optional können Sie eine Änderung vorschlagen, auf die der Autor des Pull Requests klicken kann, um sich zu verpflichten, wenn sie mit Ihrem Vorschlag einverstanden sind. Klicken Sie dazu auf das +-Zeichen neben der ersten Zeile, deren Änderung Sie vorschlagen möchten, und halten Sie es gedrückt. Ziehen Sie dann das +-Zeichen auf die letzte Zeile, deren Änderung Sie vorschlagen möchten. Klicken Sie dann im angezeigten Kommentarfeld auf Einen Vorschlag erstellen.

    Die ausgewählten Zeilen werden in das Kommentarfeld kopiert, wo Sie sie bearbeiten können, um eine Änderung vorzuschlagen. Sie können einen Kommentar über der Zeile mit ```suggestion hinzufügen, um Ihren Änderungsvorschlag zu erläutern.

    Klicken Sie auf Kommentar hinzufügen, um Ihren Vorschlag zum Pull Request hinzuzufügen.

    Screenshot einer vorgeschlagenen Änderung. Die Schaltflächen „Einen Vorschlag erstellen“ und „Kommentar hinzufügen“ werden unterhalb der vorgeschlagenen Änderung angezeigt.

  6. When you are finished adding review comments, from the Side Bar you can choose to either submit the comments, approve the changes, or request changes.

    Screenshot of the side bar showing the dropdown options "Comment and Submit," "Approve and Submit," and "Request Changes and Submit."

For more information on reviewing pull requests in GitHub Codespaces, see Verwenden von GitHub Codespaces für Pullanforderungen.

Understanding changes in a pull request

Hinweis

Sie benötigen Zugriff auf GitHub Copilot. Weitere Informationen finden Sie unter Was ist GitHub Copilot?.

GitHub Copilot can help you quickly understand changes in a pull request by providing context and explanations for specific commits. If you’re unsure about the purpose of a particular change or need more details about how it fits into the broader codebase, you can ask Copilot questions about individual commits.

  1. Navigate to a commit on GitHub.

  2. Klicke oben rechts auf einer beliebigen Seite auf GitHub neben der Suchleiste auf das Symbol .

    Das GitHub Copilot Gespräch-Panel wird angezeigt. Um die Größe des Bereichs zu ändern, klicken Sie auf den oberen oder linken Rand und ziehen Sie ihn.

  3. Wenn das Panel eine vorherige Unterhaltung enthält, die du mit Copilot hattest, klicke auf das Pluszeichensymbol () oben rechts im Copilot-Panel, um eine neue Unterhaltung zu starten.

  4. At the bottom of the Copilot chat panel, in the "Ask Copilot" box, type a question and press Enter. For example, you could enter:

    • Summarize the changes in this commit

    • Who committed these changes?

    • When was this commit made?

    Tipp

    If you know the SHA for a commit, instead of navigating to the commit, you can ask Copilot about the commit from any page in the repository on GitHub by including the SHA in your message. For example, What changed in commit a778e0eab?

  5. Optional kannst du nach der Übermittlung einer Frage im Textfeld auf klicken, um die Antwort zu beenden.

Reviewing dependency changes

If the pull request contains changes to dependencies, you can use the dependency review for a manifest or lock file to see what has changed. You can also check whether the changes introduce security vulnerabilities. See Reviewing dependency changes in a pull request.

  1. Klicke im Pull Request auf Files changed.

    Screenshot der Registerkarten für einen Pull Request. Die Registerkarte „Dateien geändert“ ist dunkelorange umrandet.

  2. On the right of the header for a manifest or lock file, display the dependency review by clicking the rich diff button.

    Screenshot of the "Files changed" tab of a pull request. The button to display the rich diff, labeled with a file icon, is outlined in dark orange.

  3. Du solltest auch das Quell-Diff überprüfen, da es möglicherweise Änderungen an der Manifest- oder Sperrdatei gibt, die keine Abhängigkeiten ändern. Zudem besteht die Möglichkeit, dass Abhängigkeiten verfügbar sind, die GitHub nicht analysieren kann und die daher nicht in der Abhängigkeitsüberprüfung angezeigt werden.

    Klicke auf die Schaltfläche , um zur Ansicht für das Quelldiff zurückzukehren.

    Screenshot der Registerkarte „Geänderte Dateien“ eines Pull Requests. Die Schaltfläche zum Anzeigen des Quell-Diffs, angezeigt mit einem Codesymbol, ist orange umrandet.

Marking a file as viewed

After you finish reviewing a file, you can mark the file as viewed. The file will collapse. If the file changes after you view the file, it will be unmarked as viewed.

  1. Klicke im Pull Request auf Files changed.

    Screenshot der Registerkarten für einen Pull Request. Die Registerkarte „Dateien geändert“ ist dunkelorange umrandet.

  2. On the right of the header of the file you've finished reviewing, select Viewed.

    Screenshot of the header of a file. The "Viewed" option is outlined in dark orange.

Submitting your review

After you've finished reviewing all the files you want in the pull request, submit your review.

  1. Klicke im Pull Request auf Files changed.

    Screenshot der Registerkarten für einen Pull Request. Die Registerkarte „Dateien geändert“ ist dunkelorange umrandet.

  2. Klicke oberhalb des geänderten Codes auf Änderungen überprüfen.

    Screenshot der Registerkarte „Geänderte Dateien“ eines Pull Requests. Die Schaltfläche „Änderungen überprüfen“ ist dunkelorange umrandet.

  3. Gib einen Kommentar ein, der Dein Feedback für die vorgeschlagenen Änderungen zusammenfasst.

  4. Select the type of review you'd like to leave:

    • Select Comment to leave general feedback without explicitly approving the changes or requesting additional changes.
    • Select Approve to submit your feedback and approve merging the changes proposed in the pull request.
    • Select Request changes to submit feedback that must be addressed before the pull request can be merged.
  5. Klicke auf Review senden.

Tipp

  • Die Option Änderungen anfordern ist rein informativ und verhindert nicht das Zusammenführen, sofern kein Regelsatz und keine Schutzregel für einen klassischen Branch mit der Option „Pull Request erforderlich“ konfiguriert ist. Wenn die Option konfiguriert ist und ein Projektmitarbeiter mit admin-, owner- oder write-Zugriff auf das Repository einen Review sendet, in dem Änderungen angefordert werden, kann der Pull Request erst zusammengeführt werden, wenn derselbe Mitarbeiter einen weiteren Review sendet, in dem die Änderungen am Pull Request genehmigt werden.
  • Repository-Inhaber und -Administratoren können einen Pull Request sogar dann zusammenführen, wenn er keinen genehmigenden Review erhalten hat oder wenn ein Reviewer, der die Änderungen verlangt hat, die Organisation verlassen hat oder nicht verfügbar ist.
  • Wenn sowohl erforderliche Reviews wie das Verwerfen veralteter Reviews aktiviert sind und ein den Code verändernder Commit an den Branch eines genehmigten Pull Requests übermittelt wird, dann wird die Genehmigung verworfen. Der Pull Request muss erneut überprüft und genehmigt werden, bevor er zusammengeführt werden kann.
  • Wenn verschiedene offene Pull Requests jeweils einen Head-Branch aufweisen, der auf denselben Commit verweist, kannst Du sie nicht zusammenführen, wenn der Review bei einer oder bei beiden ausstehend ist oder abgelehnt wurde.
  • Wenn für dein Repository die Genehmigung von Reviews von Personen mit Schreib- oder Administratorberechtigungen erforderlich ist, werden die Genehmigungen auf der Randleiste „Reviewers“ nach Berechtigungsstufe gruppiert. Genehmigungen können in zwei Abschnitten angezeigt werden:
    • Der oberste Abschnitt enthält größtenteils Genehmigungen von Personen mit Schreib- oder Administratorberechtigungen, die auf Mergeanforderungen angerechnet werden. Genehmigungen von GitHub Copilot werden in diesem Abschnitt ebenfalls angezeigt, obwohl GitHub Copilot-Reviews nicht auf diese Anforderungen angerechnet werden.
    • Der reduzierbaren Abschnitt (sofern vorhanden) zeigt Genehmigungen von prüfenden Personen an, deren Reviews die Möglichkeit des Mergens von Pull Requests nicht beeinflussen.
  • Pull-Request-Ersteller können ihre eigenen Pull Requests nicht genehmigen. Du kannst auch keine Pull Requests genehmigen, die von GitHub Copilot ausgelöst wurden, wenn du Copilot dem Issue zugewiesen hast, auf das sich der Pull Request bezieht.

Further reading