Informationen zu Forks
Ein Fork ist ein neues Repository, das denselben Code und dieselben Sichtbarkeitseinstellungen verwendet wie das ursprüngliche „Upstream-Repository“. Forks werden oft verwendet, um Ideen oder Änderungen zu überprüfen, bevor sie für das Upstream-Repository vorgeschlagen werden, z. B. in Open-Source-Projekten oder wenn ein Benutzer keinen Schreibzugriff auf das Upstream-Repository hat. Weitere Informationen findest du unter Mit Forks arbeiten.
Änderungen für ein Projekt eines anderen Benutzers vorschlagen
Du kannst Forks beispielsweise benutzen, um Änderungen im Zusammenhang mit der Behebung eines Fehlers vorzuschlagen. Anstatt ein Issue für einen Bug zu erstellen, kannst du Folgendes tun:
- Forke das Repository.
- den Fehler beheben,
- Einen Pull Request an den Projektbesitzer senden
Ein Projekt eines anderen Benutzers als Ausgangspunkt für eigene Ideen verwenden
Open-Source-Software basiert auf der Idee, dass wir durch gemeinsamen Code bessere, zuverlässigere Software erstellen können. Weitere Informationen findest du in der Open-Source-Initiative unter Informationen zur Open-Source-Initiative.
Weitere Informationen zum Anwenden von Open-Source-Prinzipien auf die Entwicklungsarbeit deiner Organisation auf GitHub finden Sie im GitHub-Whitepaper Eine Einführung in Innersource.
Wenn du ein öffentliches Repository von einem Fork eines Projekts anderer Benutzer*innen erstellst, musst du unbedingt eine Lizenzdatei hinzufügen, die bestimmt, wie dein Projekt für andere Personen freigegeben wird. Weitere Informationen findest du unter Auswählen einer Open-Source-Lizenz unter choosealicense.com.
Weitere Informationen zu Open Source, insbesondere zum Erstellen und Herausbilden eines Open-Source-Projekts, findest du in den von uns erstellten Open-Source-Leitfäden. Diese unterstützen dich bei der Förderung einer intakten Open-Source-Community durch die Empfehlung von Best Practices für das Erstellen und Warten von Repositorys für dein Open-Source-Projekt. Du kannst auch einen kostenlosen GitHub Skills-Kurs zum Verwalten von Open-Source-Communitys absolvieren.
Voraussetzungen
Sofern noch nicht geschehen, richte zunächst Git und die Authentifizierung bei Ihre GitHub Enterprise Server-Instance über Git ein. Weitere Informationen findest du unter Einrichten von Git.
Repository forken
Du forkst vielleicht ein Projekt, um Änderungen für das Upstream-Repository vorzuschlagen. In diesem Fall ist es ratsam, deinen Fork regelmäßig mit dem vorgelagerten Repository zu synchronisieren. Zu diesem Zweck musst du Git in der Befehlszeile verwenden. Du kannst Festlegen des Upstreamrepositorys anhand desselben octocat/Spoon-Knife-Repositorys üben, das du gerade geforkt hast.
-
Unter Ihre GitHub Enterprise Server-Instance, navigieren Sie zum octocat/Spoon-Knife Repository.
-
Klicke in der oberen rechten Ecke der Seite auf Forken.
-
Wähle unter „Besitzer“ das Dropdownmenü und dann einen Besitzerin für das geforkte Repository aus.
-
Standardmäßig erhalten Forks den gleichen Namen wie die zugehörigen Upstream-Repositorys. Um deinen Fork noch genauer zu unterscheiden, kannst du optional im Feld „Repositoryname“ einen Namen eingeben.
-
Gib optional im Feld „Beschreibung“ eine Beschreibung für deinen Fork ein.
-
Wähle optional Nur Standardbranch kopieren aus.
Bei vielen Forkszenarien, z. B. Beiträge zu Open-Source-Projekten, musst du nur den Standardbranch kopieren. Wenn du diese Option nicht auswählst, werden alle Branches in den neuen Fork kopiert.
-
Klicke auf Fork erstellen.
Hinweis: Wenn du weitere Branches aus dem Upstream-Repository kopieren möchtest, ist dies über die Seite Branches möglich. Weitere Informationen finden Sie unter „Erstellen und Löschen von Branches in deinem Repository“.
Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.
Um einen Fork für ein Repository zu erstellen, verwende den Unterbefehl gh repo fork
.
gh repo fork REPOSITORY
Um den Fork in einer Organisation zu erstellen, verwende das --org
-Flag.
gh repo fork REPOSITORY --org "octo-org"
Auf GitHub.com oder in GitHub Desktop kannst du ein Repository forken. Informationen zum Forking auf GitHub.com findest du in der Webbrowserversion dieses Artikels.
Wenn du versuchst, in GitHub Desktop ein Repository zu klonen, auf das du keinen Schreibzugriff hast, wird automatisch ein Fork erstellt.
-
Klicke im Menü File auf Repository klonen.
-
Klicke auf die Registerkarte, die dem Speicherort des zu klonenden Repositorys entspricht. Du kannst auch auf URL klicken, um den Repository-Speicherort manuell einzugeben.
-
Klicke in der Liste der Repositorys auf das Repository, das du klonen möchtest.
-
Um das lokale Verzeichnis auszuwählen, in das du das Repository klonen möchtest, klicke neben dem Feld „Lokaler Pfad“ auf Auswählen, und navigiere zum Verzeichnis.
-
Klicke unten im Fenster „Repository klonen“ auf Klonen.
-
Lies die Informationen unter „Wie planst du die Verwendung dieses Forks?“ .
- Wenn du diesen Fork verwenden möchtest, um am ursprünglichen Upstreamrepository mitzuwirken, klicke auf Beitrag für das übergeordnete Projekt.
- Wenn du diesen Fork für ein Projekt verwenden möchtest, das nicht mit dem Upstreamrepository zusammenhängt, klicke auf Für meine eigenen Zwecke.
-
Klicke auf Weiter.
Klonen deines geforkten Repositorys
Momentan verfügst du über einen Fork des Repositorys „Spoon-Knife“, aber die Dateien dieses Repositorys befinden sich nicht auf dem lokalen Computer.
-
Auf Ihre GitHub Enterprise Server-Instance, navigieren Sie zu Ihrem Fork des Spoon-Knife Repository.
-
Klicke oberhalb der Liste der Dateien auf Code.
-
Kopiere die URL für das Repository.
-
Um ein Repository über HTTPS zu klonen, klicke unter „HTTPS“ auf .
-
Wenn du das Repository mithilfe eines SSH-Schlüssels klonen möchtest, einschließlich eines Zertifikats, das von der SSH-Zertifizierungsstelle deiner Organisation ausgestellt wurde, wähle SSH und dann aus.
-
Um ein Repository über die GitHub CLI zu klonen, klicke auf GitHub CLI und dann auf .
-
-
Öffne TerminalTerminalGit Bash.
-
Ändere das aktuelle Arbeitsverzeichnis zum Speicherort, in dem Du das geklonte Verzeichnis haben willst.
-
Gib
git clone
ein, und füge dann die zuvor kopierte URL ein. Sie sieht wie folgt aus (anstelle vonYOUR-USERNAME
wird dein GitHub Enterprise Server-Benutzername verwendet):git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife
-
Drücke die EINGABETASTE. Dein lokaler Klon wird erstellt.
$ git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remote: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.
Verwende das Flag --clone
, um einen Klon deines Forks zu erstellen.
gh repo fork REPOSITORY --clone=true
-
Klicke im Menü File auf Repository klonen.
-
Klicke auf die Registerkarte, die dem Speicherort des zu klonenden Repositorys entspricht. Du kannst auch auf URL klicken, um den Repository-Speicherort manuell einzugeben.
-
Klicke in der Liste der Repositorys auf das Repository, das du klonen möchtest.
-
Um das lokale Verzeichnis auszuwählen, in das du das Repository klonen möchtest, klicke neben dem Feld „Lokaler Pfad“ auf Auswählen, und navigiere zum Verzeichnis.
-
Klicke unten im Fenster „Repository klonen“ auf Klonen.
Konfigurieren von Git zum Synchronisieren deines Forks mit dem Upstream-Repository
Wenn du ein Projekt forkst, um Änderungen für das Upstream-Repository vorzuschlagen, kannst du Git so konfigurieren, dass Änderungen am Upstream-Repository in den lokalen Klon deines Forks abgerufen werden.
-
Unter Ihre GitHub Enterprise Server-Instance, navigieren Sie zum octocat/Spoon-Knife Repository.
-
Klicke oberhalb der Liste der Dateien auf Code.
-
Kopiere die URL für das Repository.
-
Um ein Repository über HTTPS zu klonen, klicke unter „HTTPS“ auf .
-
Wenn du das Repository mithilfe eines SSH-Schlüssels klonen möchtest, einschließlich eines Zertifikats, das von der SSH-Zertifizierungsstelle deiner Organisation ausgestellt wurde, wähle SSH und dann aus.
-
Um ein Repository über die GitHub CLI zu klonen, klicke auf GitHub CLI und dann auf .
-
-
Öffne TerminalTerminalGit Bash.
-
Wechsle das Verzeichnis, und navigiere zu dem Speicherort des geklonten Forks.
- Um in dein Startverzeichnis zu wechseln, gib nur
cd
ohne zusätzlichen Text ein. - Um die Dateien und Ordner im aktuellen Verzeichnis aufzulisten, gib
ls
ein. - Um zu einem deiner aufgelisteten Verzeichnisse zu wechseln, gib
cd YOUR-LISTED-DIRECTORY
ein. - Um ein Verzeichnis nach oben zu wechseln, gib
cd ..
ein.
- Um in dein Startverzeichnis zu wechseln, gib nur
-
Gib
git remote -v
ein, und drücke die EINGABETASTE. Daraufhin siehst du das derzeit konfigurierte Remoterepository für deinen Fork.$ git remote -v > origin https://HOSTNAME/YOUR-USERNAME/YOUR-FORK.git (fetch) > origin https://HOSTNAME/YOUR-USERNAME/YOUR-FORK.git (push)
-
Gib
git remote add upstream
ein, füge dann die in Schritt 3 kopierte URL ein, und drücke die EINGABETASTE. Er sieht wie folgt aus:git remote add upstream https://HOSTNAME/ORIGINAL-OWNER/Spoon-Knife.git
-
Um das neue Upstreamrepository zu überprüfen, das du für deinen Fork angegeben hast, gib erneut
git remote -v
ein. Die URL für deinen Fork sollte alsorigin
und die URL für das Upstream-Repository alsupstream
angezeigt werden.$ git remote -v > origin https://HOSTNAME/YOUR-USERNAME/YOUR-FORK.git (fetch) > origin https://HOSTNAME/YOUR-USERNAME/YOUR-FORK.git (push) > upstream https://HOSTNAME/ORIGINAL-OWNER/ORIGINAL-REPOSITORY.git (fetch) > upstream https://HOSTNAME/ORIGINAL-OWNER/ORIGINAL-REPOSITORY.git (push)
Nun kannst du deinen Fork mit wenigen Git-Befehlen regelmäßig mit dem vorgelagerten Repository synchronisieren. Weitere Informationen findest du unter Einen Fork synchronisieren.
Weitere Informationen zur GitHub CLI findest du unter Informationen zur GitHub CLI.
Um ein Remoterepository für das geforkte Repository zu konfigurieren, verwende das --remote
-Flag.
gh repo fork REPOSITORY --remote=true
Um den Namen des Remoterepositorys anzugeben, verwende das --remote-name
-Flag.
gh repo fork REPOSITORY --remote-name "main-remote-repo"
Bearbeiten eines Forks
Du kannst nun jede Änderung am Fork vornehmen, einschließlich:
- Erstellen von Branches: Branches ermöglichen es dir, neue Features zu erstellen oder Ideen auszuprobieren, ohne dein Hauptprojekt zu gefährden.
- Öffnen von Pull Requests: Wenn du einen Beitrag zum Upstream-Repository leisten möchtest, kannst du dem ursprünglichen Autor eine Anforderung zum Pullen deines Forks in sein Repository senden, indem du einen Pull Request übermittelst.
Ein anderes Repository zum Forken finden
Forke ein Repository, um an einem Projekt mitzuarbeiten. 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.
Weitere Informationen dazu, wann du ein Repository forken kannst, findest du unter Informationen zu Berechtigungen und Sichtbarkeit von Forks.
Nächste Schritte
Du hast jetzt ein Repository geforkt, das Klonen deines Forks geübt und ein vorgelagertes Repository konfiguriert.
-
Weitere Informationen zum Klonen des Forks und zum Synchronisieren der Änderungen in einem geforkten Repository auf deinem Computer findest du unter Einrichten von Git.
-
Du kannst auch auf GitHub ein neues Repository erstellen, in dem du all deine Projekte ablegen und deinen Code freigeben kannst. Durch das Erstellen eines Repositorys für dein Projekt kannst du Code auf GitHub speichern. Auf diese Weise wird die Arbeit abgesichert, die du mit anderen Entwickler*innen teilen kannst. Weitere Informationen findest du unter Schnellstart für Repositorys.
-
Jedes Repository auf GitHub gehört einer Person oder einer Organisation. Du kannst mit den Personen, Repositorys und Organisationen interagieren, indem du eine Verbindung herstellst und sie auf GitHub Enterprise Server verfolgst. Weitere Informationen findest du unter Inspiration auf GitHub finden.
-
GitHub verfügt über eine großartige Supportcommunity, in der du um Hilfe bitten und mit Menschen aus der ganzen Welt sprechen kannst. Nimm an der Unterhaltung auf GitHub Community teil.