Änderungen an einen Pull-Request-Branch committen, der von einem Fork erstellt wurde
Sie können Änderungen an einen Pull-Request-Branch committen, der von einem Fork Ihres Repositorys erstellt wurde, wenn die Erlaubnis des Pull-Request-Erstellers vorliegt.
Commits sind nur an Pull-Request-Branches möglich, auf die Folgendes zutrifft:
- Sie sind in einem Repository geöffnet, auf das Sie Push-Zugriff haben, und wurden von einem Fork dieses Repositorys erstellt.
- Für sie liegt die Erlaubnis des Pull-Request-Erstellers vor.
- Für sie gelten keine Branch-Einschränkungen, die das Committen verhindern.
Nur der Benutzer, der den Pull Request erstellt hat, kann Ihnen die Erlaubnis erteilen, Commits zu seinem Branch zu pushen. Weitere Informationen finden Sie unter „Änderungen an einem Pull-Request-Branch zulassen, der von einem Fork erstellt wurde“.
Hinweis: Sie können auch Commits an einen Pull-Request-Branch von einem Fork Ihres Repositorys über Ihre GitHub Enterprise Server-Instanz übertragen, indem Sie Ihre eigene Kopie (oder einen eigenen Fork) des Forks Ihres Repositorys erstellen und die Änderungen an denselben Head-Branch committen, auf dem die ursprünglichen Pull-Request-Änderungen vorgenommen wurden. Allgemeine Anleitungen finden Sie unter „Einen Pull Request von einem Fork erstellen“.
-
Navigieren Sie auf GitHub Enterprise zur Hauptseite des Forks (oder der Kopie Ihres Repositorys), auf dem der Pull-Request-Branch erstellt wurde.
-
Klicken Sie unter dem Namen des Repositorys des Forks auf Clone or download (Klonen oder herunterladen).
-
In the Clone with HTTPs section, click to copy the clone URL for the repository.
-
Open TerminalTerminalGit Bashthe terminal.
Tipp: Wenn Sie den Fork lieber mit GitHub Desktop klonen möchten, finden Sie weitere Informationen unter „Ein Repository in GitHub Desktop klonen“.
-
Ändern Sie das aktuelle Arbeitsverzeichnis in den Speicherort, zu dem Sie das geklonte Verzeichnis herunterladen möchten.
$ cd open-source-projects
-
Geben Sie
git clone
ein, und fügen Sie dann die in Schritt 3 kopierte URL ein.$ git clone https://Hostname/USERNAME/FORK-OF-THE-REPOSITORY
-
Drücken Sie die Eingabetaste. Der lokale Klon wird erstellt.
$ git clone https://Hostname/USERNAME/FORK-OF-THE-REPOSITORY> Cloning into `FORK-OF-THE-REPOSITORY`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
Tipp: Die Fehlermeldung „fatal: destination path 'REPOSITORY-NAME' already exists and is not an empty directory“ bedeutet, dass Ihr aktuelles Arbeitsverzeichnis bereits ein Repository mit demselben Namen enthält. Um den Fehler zu beheben, müssen Sie den Fork in ein anderes Verzeichnis klonen.
-
Navigieren Sie in Ihr neu geklontes Repository.
$ cd FORK-OF-THE-REPOSITORY
-
Wechseln Sie die Branches zu dem Vergleichsbranch des Pull Requests, auf dem die ursprünglichen Änderungen vorgenommen wurden. Wenn Sie zum ursprünglichen Pull Request navigieren, sehen Sie den Vergleichsbranch oben im Pull Request.
In this example, the compare branch istest-branch
:$ git checkout test-branch
Tipp:Weitere Informationen zu Pull-Request-Branches samt Beispielen finden Sie unter „Einen Pull Request erstellen“.
-
An dieser Stelle können Sie mit diesem Branch machen, was Sie möchten. Sie können neue Commits zu ihm pushen, lokale Tests durchführen oder andere Branches in ihn mergen, darunter auch
master
. Nehmen Sie nach Bedarf Änderungen vor. -
Wenn Sie Ihre Änderungen an den Head-Branch des Pull-Requests committet haben, können Sie Ihre Änderungen direkt zum ursprünglichen Pull Request pushen. In diesem Beispiel ist der Head-Branch
test-branch
:$ git push origin test-branch> 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/FORK-OF-THE-REPOSITORY.git > 12da2e9..250e946 test-branch -> test-branch
Ihre neuen Commits werden auf dem ursprünglichen Pull Request auf Ihre GitHub Enterprise Server-Instanz entsprechend wiedergegeben.