Skip to main content

Informationen zu Forks

Ein Fork ist ein neues Repository, das denselben Code und dieselben Sichtbarkeitseinstellungen verwendet wie das ursprüngliche „Upstream-Repository“.

Informationen zu Forks

Mit Forks kannst du Änderungen an einem Projekt vornehmen, ohne dass sich dies auf das ursprüngliche Repository (Upstreamrepository) auswirkt. Nachdem du ein Repository geforkt hast, kannst du Updates aus dem Upstreamrepository abrufen, um deinen Fork auf dem neuesten Stand zu halten. Mithilfe von Pull Requests kannst du über deinen Fork auch Änderungen am Upstreamrepository vorschlagen. Eine Fork kann entweder einem personalisierten Konto oder einer Organisation gehören.

Wenn du ein geforktes Repository auf GitHub Enterprise Cloud anzeigst, wird das Upstreamrepository unter dem Namen des Forks angegeben.

Screenshot der Seite eines Repositorys auf GitHub, unter dem Namen des Repositorys, „mona/docs“, ist der Text „forked from github/docs“ orange umrandet.

In Open-Source-Projekten werden Forks oft verwendet, um mehrfach Ideen oder Änderungen durchzuspielen, bevor sie in das Upstreamrepository aufgenommen werden. Wenn du ein öffentliches Repository in deinem persönlichen Konto forkst und dann einen Pull Request öffnest, um deine Änderungen am Upstreamrepository vorzuschlagen, kannst du jeder Person mit Pushzugriff auf das Upstreamrepository die Erlaubnis geben, Änderungen an deinen Pull Request-Branch zu pushen (einschließlich Löschung des Branches). Dies beschleunigt die Zusammenarbeit, da Repositoryverwalter*innen die Möglichkeit haben, Commits zu erstellen oder Tests vor dem Zusammenführen lokal für den Pull Request-Branch von einem benutzereigenen Fork aus auszuführen. Du kannst keine Push-Berechtigungen an eine Fork geben, die einer Organisation gehört. Weitere Informationen findest du unter Änderungen an einem Pull-Request-Branch zulassen, der von einem Fork erstellt wurde.

Das Löschen eines Forks wird das ursprüngliche vorgelagerte Repository nicht löschen. Code, der an eine Fork verschoben wird, wird von Upstream aus angezeigt, Änderungen wirken sich jedoch nicht sofort auf die Upstreambranches aus. Du kannst beispielsweise Projektmitarbeiter*innen hinzufügen, Dateien umbenennen oder GitHub Pages im Fork generieren, ohne dass sich dies auf die Upstreambranches auswirkt. Nachdem ein Fork gelöscht wurde, kannst du ihn nicht wiederherstellen. Weitere Informationen findest du unter Wiederherstellen eines gelöschten Repositorys. Wenn du ein privates Repository löschst, werden alle Forks des Repositorys gelöscht.

Du kannst die Forks eines Repositorys auf der Forkseite des Repositorys anzeigen, sortieren und filtern. Weitere Informationen findest du unter Zusammenhänge zwischen Repositorys verstehen.

Informationen zum Erstellen von Forks

Sie können ein privates oder internes Repository zu Ihrem persönlichen Konto oder einer Organisation auf GitHub forken, wo Sie über Berechtigungen zur Repositoryerstellung verfügen, wenn die Einstellungen für das Repository und Ihre Unternehmensrichtlinien das Forken zulassen. Im Allgemeinen kannst du jedes öffentliche Repository in dein persönliches Konto oder in eine Organisation forken, in der du die Berechtigung hast, Repositorys zu erstellen, es sei denn, du bist Mitglied eines Unternehmen mit verwalteten Benutzer*innen.

Anweisungen zum Forken eines Repositorys findest du unter Ein Repository forken. Weitere Informationen dazu, wann du Forks erstellen kannst sowie zu den Berechtigungs- und Sichtbarkeitseinstellungen von Forks findest du unter Informationen zu Berechtigungen und Sichtbarkeit von Forks.

Tip

Du kannst GitHub Desktop verwenden, um ein Repository zu forken. Weitere Informationen findest du unter Repositories von GitHub Desktop klonen und per „Fork“ kopieren.

Forken eines Repositorys im Vergleich zum Duplizieren eines Repositorys

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 Ein Repository duplizieren und Ein Repository anhand einer Vorlage erstellen.

Das Forken eines Repositorys ähnelt dem Duplizieren eines Repositorys. Es bestehen jedoch die folgenden Unterschiede:

  • Code, der an einen Fork gesendet wird, ist für alle Repositorys im Fork-Netzwerk sichtbar, auch nachdem dieser Fork gelöscht wurde.
  • Du kannst einen Pull Request verwenden, um Änderungen am Upstreamrepository über deinen Fork vorzuschlagen.
  • Du kannst Änderungen vom Upstreamrepository in deinen Fork übertragen, indem du deinen Fork mit dem Upstreamrepository synchronisierst.
  • Forks verfügen über eigene Member, Branches, Tags, Bezeichnungen, Richtlinien, Issues, Pull Requests, Diskussionen, Aktionen, Projekte und Wikis.
  • Forks erben die Einschränkungen ihrer Upstreamrepositorys. Beispielsweise können Branchschutzregeln nicht übernommen werden, wenn das Upstreamrepository zu einer Organisation mit einem GitHub Free-Plan gehört.

Weiterführende Themen