Artikelversion: Enterprise Server 2.17
Pull Requests lokal auschecken
When someone sends you a pull request from a fork or branch of your repository, you can merge it locally to resolve a merge conflict or to test and verify the changes before merging on GitHub Enterprise.
Note: Pull request authors can give upstream repository maintainers, or those with push access to the upstream repository, permission to make commits to their pull request's compare branch in a user-owned fork. Weitere Informationen finden Sie unter „Änderungen an einem Pull-Request-Branch zulassen, der von einem Fork erstellt wurde“.
Einen aktiven Pull Request lokal ändern
- Klicke unter Deinem Repository-Namen auf Pull requests.
- Klicken Sie in der Liste der Pull Requests auf den Pull Request, den Sie mergen möchten.
- In the merge box, click command line instructions. Führen Sie nacheinander die Schritte durch, um den vorgeschlagenen Pull Request herunterzuladen.
- Optionally, to view proposed changes in GitHub Desktop, click open this in GitHub Desktop.
Einen inaktiven Pull Request lokal ändern
If a pull request's author is unresponsive to requests or has deleted their fork, the pull request can still be merged. Wenn Sie jedoch einen Pull Request ändern und der Autor nicht antwortet, müssen Sie einige zusätzliche Schritte durchführen, um den Pull Request zu aktualisieren.
Once a pull request is opened, GitHub Enterprise stores all of the changes remotely. In other words, commits in a pull request are available in a repository even before the pull request is merged. You can fetch an open pull request and recreate it as your own.
Jeder kann einen zuvor geöffneten Pull Request weiter bearbeiten, testen oder sogar einen neuen Pull Request mit zusätzlichen Änderungen öffnen. Aber nur Mitarbeiter mit Push-Zugriff können Pull Requests mergen.
- Klicke unter Deinem Repository-Namen auf Issues oder Pull requests.
- Klicken Sie in der Liste „Pull Requests“ auf den Pull Request, den Sie mergen möchten.
- Ermitteln Sie die ID-Nummer des inaktiven Pull Requests. Die ID ist die Ziffernfolge direkt hinter dem Titel des Pull Requests.
- Öffne TerminalTerminalGit Bash.
- Rufen Sie den Verweis zum Pull Request basierend auf seiner ID-Nummer ab, und erstellen Sie dabei einen neuen Branch.
$ git fetch origin pull/ID/head:BRANCHNAME
- Wechseln Sie zu dem neuen Branch, der auf diesem Pull Request basiert:
[master] $ git checkout BRANCHNAME > Switched to a new branch 'BRANCHNAME'
- An dieser Stelle können Sie mit diesem Branch machen, was Sie möchten. Sie können lokale Tests ausführen oder andere Branches in diesen Branch mergen, darunter auch seinen
master
. - Wenn Sie fertig sind, können Sie den neuen Branch übertragen:
[pull-inactive-pull-request] $ git push origin BRANCHNAME > 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://Hostname/username/repository.git > * [new branch] BRANCHNAME -> BRANCHNAME
- 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 dorthin zu pushen, wird die folgende Fehlermeldung angezeigt:
! [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'
Tipp: Wenn Sie einen Remote-Verweis entfernen oder umbenennen, wirken sich Aufrufe von git-remote
nicht auf Ihren lokalen Namespace refs/pull/origin
aus.