Skip to main content

Informationen zu Forks

Ein Fork ist eine Kopie eines Repositorys, das Du verwaltest. Mit Forks kannst du Änderungen an einem Projekt vornehmen, ohne dass sich dies auf das ursprüngliche Repository auswirkt. Du kannst Updates aus dem ursprünglichen Repository abrufen oder Änderungen mit Pull Requests an das Repository senden.

Das Forking eines Repositorys ist ähnlich wie das Kopieren eines Repositorys, mit zwei wesentlichen Unterschieden:

  • Du kannst einen Pull Request verwenden, um Änderungen an deinem benutzereigenen Fork für das Originalrepository in der zugehörigen GitHub-Instanz vorzuschlagen, auch als Upstream-Repository bezeichnet.
  • Du kannst Änderungen vom vorgelagerten Repository auf Deinen lokalen Fork übertragen, indem Du Deinen Fork mit dem vorgelagerten Repository synchronisierst.

If you have access to a private repository and the owner permits forking, you can fork the repository to your personal account, or an organization on GitHub Team where you have repository creation permissions. You cannot fork a private repository to an organization using GitHub Free. For more information, see "GitHub's products."

Falls du Mitglied eines enterprise with managed users bist, gelten weitere Einschränkungen für die Repositorys, die du forken kannst. Managed user accounts können keine Repositorys von außerhalb des Unternehmens forken. Gemäß der Unternehmensrichtlinie können Managed user accounts private oder interne Repositorys, die sich im Besitz von Organisationen im Unternehmen befinden, in ihren Benutzerkonto-Namespace oder in andere Organisationen im Besitz des Unternehmens forken. Weitere Informationen findest du unter Informationen zu Enterprise Managed Users in der GitHub Enterprise Cloud-Dokumentation.

Du kannst GitHub Desktop verwenden, um ein Repository zu forken. Weitere Informationen findest du unter Klonen und Forken von Repositorys aus GitHub Desktop.

Das Löschen eines Forks wird das ursprüngliche vorgelagerte Repository nicht löschen. Du kannst beliebige Änderungen an deinem Fork vornehmen – Projektmitarbeiter hinzufügen, Dateien umbenennen, GitHub Pages generieren –, ohne Auswirkungen auf das Original. Du kannst ein geforktes Repository nach dem Löschen nicht wiederherstellen. Weitere Informationen findest du unter Wiederherstellen eines gelöschten Repository.

In Open-Source-Projekten werden Forks oft verwendet, um mehrfach Ideen oder Änderungen durchzuspielen, bevor sie an das vorgelagerte Repository zurückgesendet werden. Wenn du Änderungen an deinem benutzereigenen Fork vornimmst und einen Pull Request öffnest, der deine Arbeit mit dem Upstream-Repository vergleicht, kannst du jeder Person mit Pushzugriff auf das Upstream-Repository die Erlaubnis geben, Änderungen an deinen Pull Request-Branch zu pushen (einschließlich Löschung des Branches). Dies beschleunigt die Zusammenarbeit, indem es den Repository-Betreuern erlaubt, Commits zu erstellen oder Tests vor dem Zusammenführen lokal aus einer benutzereigenen Fork zu Deinem Pull-Request-Branch auszuführen. Du kannst keine Push-Berechtigungen an eine Fork geben, die einer Organisation gehört.

Private Forks übernehmen die Berechtigungsstruktur des vorgelagerten oder übergeordneten Repository. Dies hilft den Inhabern privater Repositorys, die Kontrolle über ihren Code zu behalten. Wenn das vorgelagerte Repository beispielsweise privat ist und einem Team Lese-/Schreibzugriff gibt, wird dasselbe Team Lese-/Schreibzugriff auf alle Forks des privaten vorgelagerten Repository haben. Nur Teamberechtigungen (nicht einzelne Berechtigungen) werden von privaten Forks geerbt.

Wenn du ein neues Repository aus dem Inhalt eines vorhandenen Repositorys erstellen möchtest, deine Änderungen aber künftig nicht in das Upstream-Repository mergen möchtest, kannst du das Repository duplizieren oder – falls es sich bei dem Repository um eine Vorlage handelt – das Repository als Vorlage verwenden. Weitere Informationen findest du unter Duplizieren eines Repository und Erstellen eines Repository anhand einer Vorlage.

Weiterführende Themen