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.
Du kannst jedes öffentliche Repository zu Deinem Benutzerkonto oder zu jeder Organisation forken, in der Du die Berechtigung zum Erstellen von Repositorys hast. Weitere Informationen finden Sie unter „Berechtigungsebenen für eine Organisation".
Du kannst jedes private Repository, auf das Du Zugriff hast, zu Deinem Benutzerkonto oder zu jeder Organisation auf GitHub Team oder GitHub Enterprise forken, in denen Du die Berechtigung zum Erstellen von Repositorys hast. You cannot fork a private repository to an organization using GitHub Free.
Du kannst GitHub Desktop verwenden, um ein Repository zu forken. Weitere Informationen findest Du unter „Klonen und Forking von Repositorys von GitHub Desktop."
Das Löschen eines Forks wird das ursprüngliche vorgelagerte Repository nicht löschen. You can make any changes you want to your fork—add collaborators, rename files, generate GitHub Pages—with no effect on the 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“.