# Pull Requests lokal auschecken

Rufen Sie Pull Requests lokal ab, um Mergekonflikte zu beheben, Änderungen zu testen oder Code zu ändern.

> \[!NOTE]
> Autoren von Pull Requests können Maintainer des Upstream-Repositorys oder Personen mit Pushzugriff auf das Upstream-Repository berechtigen, Commits im Vergleichs-Branch ihres Pull Requests in einem benutzereigenen Fork vorzunehmen. Siehe [Allowing changes to a pull request branch created from a fork](/de/pull-requests/how-tos/work-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork).

## Einen aktiven Pull Request lokal ändern

<div class="ghd-tool webui">

1. Klicke unter dem Namen deines Repositorys auf **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="git-pull-request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Pull requests**.

   ![Screenshot der Hauptseite eines Repositorys. In der horizontalen Navigationsleiste ist eine Registerkarte mit der Bezeichnung „Pull Requests“ dunkelorange umrandet.](/assets/images/help/repository/repo-tabs-pull-requests-global-nav-update.png)

2. Klicken Sie in der Liste der Pullanforderungen auf die Pullanforderung, die Sie ändern möchten.

3. Um auszuwählen, wo Sie die Pullanforderung öffnen möchten, wählen Sie das **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="code" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg> Dropdownmenü "Code** " aus, und klicken Sie auf eine der Registerkarten.

![Screenshot eines Pull-Request-Titels. Eine Schaltfläche mit einem Pfeil, der ein Dropdownmenü mit der Bezeichnung "Code" angibt, wird in dunkel orange umrissen.](/assets/images/help/pull_requests/open-with-button.png)

</div>

<div class="ghd-tool cli">

> \[!NOTE]
> Weitere Informationen zur GitHub CLI findest du unter [Informationen zu GitHub CLI](/de/github-cli/github-cli/about-github-cli).

Um einen Pull Request lokal auszuchecken, verwende den Unterbefehl `gh pr checkout`. Ersetze `PULL-REQUEST` durch die Nummer, die URL oder den HEAD-Branch des Pull Requests.

```shell
gh pr checkout PULL-REQUEST
```

</div>

## Einen inaktiven Pull Request lokal ändern

Wenn der Autor eines Pull Requests auf Anfragen nicht reagiert oder seinen Fork gelöscht hat, können die in diesem Pull Request vorgeschlagenen Änderungen weiterhin über einen neuen Pull Request zusammengeführt werden. Wenn Sie jedoch Änderungen vornehmen möchten, müssen Sie zusätzliche Schritte ausführen, um die Pullanforderung zu aktualisieren.

Nachdem ein Pull Request geöffnet wurde, speichert GitHub alle Änderungen remote. Commits in einem Pull Request sind in einem Repository verfügbar, noch bevor der Pull Request zusammengeführt wird. Du kannst einen offenen Pull Request abrufen und als deinen eigenen neu erstellen.

Jeder kann mit einer zuvor geöffneten Pullanforderung arbeiten, um weiter daran zu arbeiten, es zu testen oder eine neue Pullanforderung mit zusätzlichen Änderungen zu öffnen.

1. Klicke unter dem Namen deines Repositorys auf **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-git-pull-request" aria-label="git-pull-request" role="img"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg> Pull requests**.

   ![Screenshot der Hauptseite eines Repositorys. In der horizontalen Navigationsleiste ist eine Registerkarte mit der Bezeichnung „Pull Requests“ dunkelorange umrandet.](/assets/images/help/repository/repo-tabs-pull-requests-global-nav-update.png)

2. Klicken Sie in der Liste **der Pullanforderungen auf die Pullanforderung** , die Sie zusammenführen möchten.

3. Ermittle die ID-Nummer des inaktiven Pull Requests. Die Ziffernfolge direkt hinter dem Titel des Pull Requests.

   ![Screenshot des Titels eines Pull Requests Die ID-Nummer des Pull Requests ist dunkelorange umrissen.](/assets/images/help/pull_requests/pull-request-id-number.png)

4. Öffnen Sie Ihr Terminal oder Git Bash.

5. Rufen Sie den Verweis auf den Pull-Request anhand seiner ID-Nummer ab. Dies erstellt einen neuen Branch. Verwenden Sie die Pullanforderungs-ID und den Namen der lokalen Verzweigung, die Sie im Befehl erstellen möchten.

   ```shell
   git fetch origin pull/ID/head:BRANCH_NAME
   ```

6. Wechsle zu dem neuen Branch, der auf diesem Pull Request basiert:

   ```shell
   [main] $ git switch BRANCH_NAME
   > Switched to a new branch 'BRANCH_NAME'
   ```

7. Nehmen Sie alle erforderlichen Änderungen an dieser Verzweigung vor. Sie können lokale Tests ausführen oder andere Branches in den Branch mergen.

8. Wenn Sie fertig sind, verschieben Sie den neuen Zweig:

   ```shell
   [pull-inactive-pull-request] $ git push origin BRANCH_NAME
   > Counting objects: 32, done.
   > Delta compression using up to 8 threads.
   > Compressing objects: 100% (26/26), done.
   > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done.
   > Total 29 (delta 8), reused 0 (delta 0)
   > To https://github.com/USERNAME/REPOSITORY.git
   >  * [new branch]      BRANCH_NAME -> BRANCH_NAME
   ```

9. Erstellen Sie einen neuen Pull Request mit Ihrem neuen Branch.

## Fehler: Pushen einiger Refs fehlgeschlagen

Der Remote-Namespace `refs/pull/` ist *schreibgeschützt*. Wenn Sie versuchen, Commits dort zu übertragen, wird dieser Fehler angezeigt:

```shell
! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)
error: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git'
```

> \[!TIP]
> Wenn Sie eine Remote-Referenz entfernen oder umbenennen, wirken sich Aufrufe von `git-remote` nicht auf Ihren lokalen `refs/pull/origin/`-Namespace aus.