Ein Repository forken
Ein Fork ist eine Kopie eines Repositorys. Durch das Forken eines Repositorys können Sie Änderungen uneingeschränkt testen, ohne Auswirkungen auf das Originalprojekt.
Ü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
Die Verwendung von Forks zum Vorschlagen für Änderungen bietet sich z. B. für Bugfixes an. Anstatt einen Issue für einen Bug zu erstellen, können Sie
- das Repository forken,
- den Fehler beheben,
- einen Pull Request an den Projektinhaber senden.
Wenn dem Projektinhaber Ihre Änderung gefällt, übernimmt er Ihren Bugfix vielleicht in das Original-Repository.
Ein Projekt eines anderen Benutzers als Ausgangspunkt für eigene Ideen verwenden
Der Grundgedanke von Open Source besteht darin, dass die Freigabe von Code zu besserer und zuverlässigerer Software führt.
Wenn Sie ein öffentliches Repository von einem Fork eines Projekts eines anderen Benutzers erstellen, müssen Sie unbedingt eine Lizenzdatei hinzufügen, die bestimmt, wie Ihr Projekt für andere Personen freigegeben wird.
For more information on open source, specifically how to create and grow an open source project, we've created Open Source Guides that will help you foster a healthy open source community by recommending best practices for creating and maintaining repositories for your open source project. You can also take a free GitHub Learning Lab course on maintaining open source communities.
Ein Beispiel-Repository forken
Das Forken eines Repositorys ist ein einfacher Vorgang, bestehend aus zwei Schritten. Wir haben ein Repository erstellt, mit dem Sie das Forken üben können.
- Navigieren Sie auf Ihre GitHub Enterprise Server-Instanz zum Repository octocat/Spoon-Knife.
- Klicken Sie in der oberen rechte Ecke der Seite auf Fork (Fork).
Das war alles. Jetzt besitzen Sie einen Fork des Original-Repositorys „octocat/Spoon-Knife“.
Ihren Fork regelmäßig synchronisieren
Sie forken vielleicht ein Projekt, um Änderungen für das vorgelagerte Repository, d. h. das Original-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 können Sie mit demselben Repository octocat/Spoon-Knife üben, von dem Sie gerade einen Fork erstellt haben.
Schritt 1: Git einrichten
Wenn Sie es noch nicht getan haben, müssen Sie zunächst Git einrichten. Denken Sie auch daran, die Authentifizierung bei Ihre GitHub Enterprise Server-Instanz über Git einzurichten.
Schritt 2: einen lokalen Klon Ihres 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 Ihres Forks lokal auf Ihrem Computer.
-
Navigieren Sie auf GitHub Enterprise zu Ihrem Fork des Repositorys „Spoon-Knife“.
-
Under the repository name, click Clone or download.
-
To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key click Use SSH, then click .
-
Open TerminalTerminalGit Bashthe terminal.
-
Geben Sie
git clone
ein, und fügen Sie dann die zuvor kopierte URL ein. Der Befehl sieht wie folgt aus, wobeiYOUR-USERNAME
durch Ihren GitHub Enterprise-Benutzernamen ersetzt wird:$ git clone https://Hostname/YOUR-USERNAME/Spoon-Knife
-
Drücken Sie 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 besitzen Sie eine lokale Kopie Ihres Forks des Repositorys „Spoon-Knife“.
Schritt 3: Git für das Synchronisieren Ihres Forks mit dem Original-Repository „Spoon-Knife“ konfigurieren
Wenn Sie ein Projekt forken, um Änderungen für das Original-Repository vorzuschlagen, können Sie Git so konfigurieren, dass Änderungen vom vorgelagerten Repository (d. h. dem Original-Repository) in den lokalen Klon Ihres Forks abgerufen werden.
-
Navigieren Sie auf GitHub Enterprise zum Repository octocat/Spoon-Knife.
-
Under the repository name, click Clone or download.
-
To clone the repository using HTTPS, under "Clone with HTTPS", click . To clone the repository using an SSH key click Use SSH, then click .
-
Open TerminalTerminalGit Bashthe terminal.
-
Wechseln Sie das Verzeichnis zum Speicherort des Forks, den Sie bei Schritt 2: einen lokalen Klon Ihres Forks erstellen geklont haben.
- Um in Ihr Home-Verzeichnis zu wechseln, geben Sie einfach
cd
ohne zusätzlichen Text ein. - Um die Dateien und Ordner im aktuellen Verzeichnis anzuzeigen, geben Sie
ls
ein. - Um in eines der aufgelisteten Verzeichnisse zu wechseln, geben Sie
cd aufgeführtes_verzeichnis
ein. - Um ein Verzeichnis nach oben zu wechseln, geben Sie
cd ..
ein.
- Um in Ihr Home-Verzeichnis zu wechseln, geben Sie einfach
-
Geben Sie
git remote -v
ein, und drücken Sie die Eingabetaste. Daraufhin sehen Sie das aktuell konfigurierte Remote-Repository für Ihren Fork.$ git remote -v > origin https://Hostname/YOUR_USERNAME/YOUR_FORK.git (fetch) > origin https://Hostname/YOUR_USERNAME/YOUR_FORK.git (push)
-
Geben Sie
git remote add upstream
ein. Fügen Sie dann die URL ein, die Sie bei Schritt 2 kopiert haben, und drücken Sie 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 Sie für Ihren Fork angegeben haben, geben Sie erneut
git remote -v
ein. Nun sollte die URL Ihres Forks 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:
Bei den Änderungen, die Sie an einem Fork vornehmen können, sind Ihnen praktisch keine Grenzen gesetzt. Unter anderem haben Sie folgende Möglichkeiten:
- Branches erstellen: Mit Branches können Sie ohne Risiko für das Hauptprojekt neue Features entwickeln oder Ideen testen.
- Pull Requests öffnen: Wenn Sie einen Beitrag zum Original-Repository leisten möchten, können Sie einen Pull Request an den Original-Autor senden und ihn dazu auffordern, Ihren Fork in sein Repository abzurufen.
Ein anderes Repository zum Forken finden
Forken Sie ein Repository, um an einem Projekt mitzuarbeiten. Sie können öffentliche Repositorys mit Ihrem Benutzerkonto oder mit jeder Organisation forken, in der Sie berechtigt sind, Repositorys zu erstellen. Weitere Informationen finden Sie unter „Berechtigungsebenen für eine Organisation".
Sie können private Repositorys, auf die Sie zugreifen können, mit Ihrem Benutzerkonto oder einer beliebigen Organisation auf GitHub Team oder GitHub Enterprise forken, wo Sie berechtigt sind, Repositorys zu erstellen.
Geschafft!
Sie haben jetzt ein Repository geforkt, das Klonen Ihres Forks geübt und ein vorgelagertes Repository konfiguriert. Was möchten Sie als Nächstes tun?
- „Git einrichten“
- „Repository erstellen“
- Ein Repository forken
- „Soziale Interaktion“
- Connect with people around the world in the GitHub-Community-Forum