Das Forking eines Repositorys ist ähnlich wie das Kopieren eines Repositorys, mit zwei wesentlichen Unterschieden:
- Du kannst einen Pull Request verwenden, um Änderungen von Deiner benutzereigenen Fork zum ursprünglichen Repository, auch als upstream (vorgelagertes) Repository bekannt, vorzuschlagen.
- Du kannst Änderungen vom vorgelagerten Repository auf Deinen lokalen Fork übertragen, indem Du Deinen Fork mit dem vorgelagerten Repository synchronisierst.
You can fork a repository to your user account or any organization where you have repository creation permissions. Weitere Informationen finden Sie unter „Berechtigungsebenen für eine Organisation".
If you have access to a private repository and the owner permits forking, you can fork the repository to your user account or any organization on your GitHub Enterprise Server instance where you have repository creation permissions.
Du kannst GitHub Desktop verwenden, um ein Repository zu forken. For more information, see "Cloning and forking repositories from GitHub Desktop."
Das Löschen eines Forks wird das ursprüngliche vorgelagerte Repository nicht löschen. Du kannst beliebige Änderungen an Deiner Fork vornehmen – Mitarbeiter hinzufügen, Dateien umbenennen, GitHub Pages generieren –, ohne Auswirkungen auf das Original.
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 in Deiner benutzereigenen Fork vornimmst und einen Pull Request öffnest, die Deine Arbeit mit dem vorgelagerten Repository vergleicht, kannst Du jedem mit Push-Zugriff auf das vorgelagerte Repository die Erlaubnis geben, Änderungen in deinen Pull-Request-Branch zu übertragen. 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. 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. Dies hilft den Inhabern privater Repositorys, die Kontrolle über ihren Code zu behalten.
If you want to create a new repository from the contents of an existing repository but don't want to merge your changes upstream in the future, you can duplicate the repository or, if the repository is a template, use the repository as a template. Weitere Informationen finden Sie unter „Ein Repository duplizieren“ und „Ein Repository anhand einer Vorlage erstellen“.