Üblicherweise werden Forks genutzt, um Änderungen für ein Projekt eines anderes Benutzers vorzuschlagen oder ein Projekt eines anderen Benutzers als Ausgangspunkt für eigene Ideen zu verwenden.
Ä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 einen Issue für einen Bug zu erstellen, kannst Du:
- das Repository forken,
- den Fehler beheben,
- Submit a pull request to the project owner.
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 „Über die Open-Source-Initiative“ auf der Open-Source-Initiative-Website.
For more information about applying open source principles to your organization's development work on your GitHub Enterprise Server instance, see GitHub's whitepaper "An introduction to innersource."
Wenn Du ein öffentliches Repository von einem Fork eines Projekts eines anderen Benutzers erstellst, musst Du unbedingt eine Lizenzdatei hinzufügen, die bestimmt, wie Dein Projekt für andere Personen freigegeben wird. Weitere Informationen findest Du unter „Wähle eine Open-Source-Lizenz“ auf der choosealicense-Website.
Für weitere Informationen zu Open-Source, insbesondere zum Erstellen und Vergrößern eines Open-Source-Projekts, haben wir Open-Source Leitfäden erstellt, die Dir durch die Empfehlung von Best Practices für das Erstellen und Unterhalten von Repositorys helfen, eine gesunde Open-Source-Community zu pflegen. Du kannst auch einen kostenlosen GitHub Learning Lab Kurs zur Pflege von Open-Source-Communitys absolvieren.
Hinweis: Du kannst GitHub Desktop verwenden, um ein Repository zu forken. For more information, see "Cloning and forking repositories from GitHub Desktop."
Tip: You can also fork a repository using the GitHub CLI. For more information, see "gh repo fork
" in the GitHub CLI documentation.
Ein Beispiel-Repository forken
Das Forken eines Repositorys ist ein einfacher Vorgang, bestehend aus zwei Schritten. Wir haben ein Repository erstellt, mit dem Du das Forken üben kannst.
- Navigieren Sie auf your GitHub Enterprise Server instance zum Repository octocat/Spoon-Knife.
- Klicke in der oberen rechte Ecke der Seite auf Fork.
Deinen Fork regelmäßig synchronisieren
Du forkst vielleicht ein Projekt, um Änderungen an das vorgelagerte - oder originale - Repository vorzuschlagen. In diesem Fall ist es ratsam, Ihren Fork regelmäßig mit dem vorgelagerten Repository zu synchronisieren. Zu diesem Zweck müssen Sie Git in der Befehlszeile verwenden. Das Festlegen des vorgelagerten Repositorys kannst Du mit demselben Repository octocat/Spoon-Knife üben, das Du gerade geforkt hast.
Schritt 1: Git einrichten
Wenn Sie es noch nicht getan haben, müssen Sie zunächst Git einrichten. Denke auch daran, Authentifizierungen zu your GitHub Enterprise Server instance über Git einzurichten.
Schritt 2: einen lokalen Klon Deines Forks erstellen
Momentan besitzen Sie einen Fork des Repositorys „Spoon-Knife“, aber Sie haben nicht die Dateien dieses Repositorys auf Ihrem Computer. Deswegen erstellen wir nun einen Klon Deines Forks lokal auf Deinem Computer.
- On
GitHub Enterprise Server, navigate to your fork of the Spoon-Knife repository.
-
Klicke unter dem Repository-Namen auf Clone or download (Klonen oder herunterladen).
-
To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click .
-
Ö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. Der Befehl sieht wie folgt aus, wobeiYOUR-USERNAME
durch Deinen GitHub Enterprise Server-Benutzernamen ersetzt wird:$ git clone https://hostname/YOUR-USERNAME/Spoon-Knife
-
Drücke die Eingabetaste. Der lokale 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. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
Jetzt hast Du eine lokale Kopie Deiner Fork des Spoon-Knife-Repositorys.
Schritt 3: Git für das Synchronisieren Deines Forks mit dem Original-Repository „Spoon-Knife“ konfigurieren
Wenn Du ein Projekt forkst, um Änderungen für das Original-Repository vorzuschlagen, kannst Du Git so konfigurieren, dass Änderungen am vorgelagerten (originalen) Repository in den lokalen Klon Deiner Fork abgerufen werden.
- On
GitHub Enterprise Server, navigate to the octocat/Spoon-Knife repository.
-
Klicke unter dem Repository-Namen auf Clone or download (Klonen oder herunterladen).
-
To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click .
-
Öffne TerminalTerminalGit Bash.
-
Wechsle das Verzeichnis zum Speicherort des Forks, den Du bei Schritt 2: einen lokalen Klon Deines Forks erstellen geklont hast.
- Um in Dein Home-Verzeichnis zu wechseln, gib einfach
cd
ohne zusätzlichen Text ein. - Um die Dateien und Ordner im aktuellen Verzeichnis anzuzeigen, gib
ls
ein. - Um in eines der aufgelisteten Verzeichnisse zu wechseln, gib
cd aufgeführtes_verzeichnis
ein. - Um ein Verzeichnis nach oben zu wechseln, gib
cd ..
ein.
- Um in Dein Home-Verzeichnis zu wechseln, gib einfach
-
Gib
git remote -v
ein, und drück die Eingabetaste. Daraufhin siehst Du das aktuell konfigurierte Remote-Repository 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 URL ein, die Du bei Schritt 2 kopiert hast, und drücke die Eingabetaste. Dies sieht wie folgt aus:$ git remote add upstream https://hostname/octocat/Spoon-Knife.git
-
Um das neue vorgelagerte Repository zu überprüfen, das Du für Deinen Fork angegeben hast, gib erneut
git remote -v
ein. Nun sollte die URL Deiner Fork alsorigin
und die URL des Original-Repositorys alsupstream
aufgeführt sein.$ 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 können Sie Ihren Fork mit wenigen Git-Befehlen regelmäßig mit dem vorgelagerten Repository synchronisieren. Weitere Informationen finden Sie unter „Fork synchronisieren“.
Nächste Schritte:
Du kannst nun jede Änderung am Fork vornehmen, einschließlich:
- Branches erstellen: Mit Branches kannst Du ohne Risiko für das Hauptprojekt neue Funktionen entwickeln oder Ideen testen.
- Pull Requests öffnen: Wenn Du einen Beitrag zum Original-Repository leisten möchtest, kannst Du einen Pull Request an den Original-Autor senden und ihn dazu auffordern, Deinen Fork in sein Repository abzurufen.
Ein anderes Repository zum Forken finden
Forken Sie ein Repository, um an einem Projekt mitzuarbeiten. 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.
Geschafft!
Sie haben jetzt ein Repository geforkt, das Klonen Ihres Forks geübt und ein vorgelagertes Repository konfiguriert. Was möchtest Du als Nächstes tun?
- „Git einrichten“
- „Repository erstellen“
- „Soziale Interaktion“
- Verbinde Dich mit Menschen auf der ganzen Welt in GitHub Community Support