Artikelversion: Enterprise Server 2.17
Ein Repository forken
A fork is a copy of a repository. 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
For example, you can use forks to propose changes related to fixing a bug. 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.
Ein Projekt eines anderen Benutzers als Ausgangspunkt für eigene Ideen verwenden
Open source software is based on the idea that by sharing code, we can make better, more reliable software. For more information, see the “About the Open Source Initiative" on the Open Source Initiative.
When creating your public repository from a fork of someone's project, make sure to include a license file that determines how you want your project to be shared with others. For more information, see “Choose an open source license" at choosealicense.
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.
Note: Du kannst GitHub Desktop verwenden, um ein Repository zu forken. Weitere Informationen findest Du unter „Klonen und Forking von Repositorys von GitHub Desktop."
Ein Beispiel-Repository forken
Das Forken eines Repositorys ist ein einfacher Vorgang, bestehend aus zwei Schritten. We've created a repository for you to practice with.
- 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).
Ihren Fork regelmäßig synchronisieren
You might fork a project to propose changes to the upstream, or original, repository. 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. You can practice setting the upstream repository using the same octocat/Spoon-Knife repository you just forked.
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“.
-
Klicke unter dem Repository-Namen auf Clone or download (Klonen oder herunterladen).
-
Um ein Repository mittels HTTPS zu klonen, klicke unter „Clone with HTTPS" (mit HTTPS klonen) auf . Um das Repository mittels einem SSH-Schlüssel zu klonen klicke auf Use SSH (SSH verwenden), dann klicke auf .
-
Öffne TerminalTerminalGit Bash.
-
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.
Now, you have a local copy of your fork of the Spoon-Knife repository.
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.
-
Klicke unter dem Repository-Namen auf Clone or download (Klonen oder herunterladen).
-
Um ein Repository mittels HTTPS zu klonen, klicke unter „Clone with HTTPS" (mit HTTPS klonen) auf . Um das Repository mittels einem SSH-Schlüssel zu klonen klicke auf Use SSH (SSH verwenden), dann klicke auf .
-
Öffne TerminalTerminalGit Bash.
-
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:
You can make any changes to a fork, including:
- 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. 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 findest Du 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. Du kannst ein privates Repository nicht an eine Organisation forken, die GitHub Free verwendet.
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“
- „Soziale Interaktion“
- Verbinde Dich mit Menschen auf der ganzen Welt in GitHub Community Support