Informationen zu Forks
Wenn du am Projekt einer anderen Person mitwirken möchtest, aber nicht über die Berechtigung zum direkten Vornehmen von Änderungen verfügst, kannst du eine eigene Kopie des Projekts erstellen, Aktualisierungen durchführen und diese dann für die Aufnahme in das Hauptprojekt vorschlagen. Dieser Prozess wird häufig als „Fork und Pull Request“-Workflow bezeichnet.
Wenn du eine eigene Kopie (oder „Fork“) eines Projekts erstellst, kann dies mit dem Erstellen eines neuen Arbeitsbereichs verglichen werden, der über denselben Code verfügt wie das ursprüngliche Projekt. Dies ist nützlich für Open-Source-Projekte oder wenn du keinen Schreibzugriff auf das ursprüngliche Projekt hast.
Nachdem du die Änderungen in deiner Kopie vorgenommen hast, kannst du sie als Pull Request übermitteln. Dies ist eine Möglichkeit, Änderungen am Hauptprojekt vorzuschlagen. Weitere Informationen findest du unter Ein Repository forken.
Erstellen einer eigenen Kopie eines Projekts
In diesem Tutorial wird das Spoon-Knife-Projekt verwendet. Es ist ein Testrepository auf GitHub, mit dem Sie den Fork- und Pull Request-Workflow testen können.
-
Navigiere zum
Spoon-Knife
-Projekt auf https://github.com/octocat/Spoon-Knife. -
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.
Note
Wenn Ihr Benutzername ausgegraut ist, liegt das daran, dass der Fork bereits vorhanden ist. Stattdessen sollten Sie den vorhandenen Fork auf dem neuesten Stand bringen. Weitere Informationen findest du unter Einen Fork synchronisieren.
-
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.
Note
Du kannst über die Seite Branches weitere Branches aus dem Upstreamrepository kopieren. Weitere Informationen findest du unter Erstellen und Löschen von Branches in deinem Repository.
Klonen eines Forks auf deinem Computer
Du hast erfolgreich einen Fork des Spoon-Knife-Repositorys erstellt. Bisher ist es jedoch nur auf GitHub vorhanden. Um an dem Projekt arbeiten zu können, musst du es auf deinen Computer klonen.
Du kannst dein Fork über die Befehlszeile, die GitHub CLI oder GitHub Desktop klonen.
-
Navigiere auf GitHub im Spoon-Knife-Repository zu deinem Fork.
-
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-Benutzername verwendet):git clone https://github.com/YOUR-USERNAME/Spoon-Knife
-
Drücke die EINGABETASTE. Dein lokaler Klon wird erstellt.
$ git clone https://github.com/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.
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.
Erstellen eines Branches für die Arbeit
Bevor du Änderungen am Projekt vornimmst, solltest du einen neuen Fork erstellen und ihn auschecken. Du folgst dem GitHub-Flow, wenn du die Änderungen in deinem eigenen Branch beibehältst, und stellst sicher, dass ein Mitwirken an demselben Projekt in der Zukunft einfacher ist. Weitere Informationen finden Sie unter GitHub-Flow.
git branch BRANCH-NAME
git checkout BRANCH-NAME
git branch BRANCH-NAME
git checkout BRANCH-NAME
Weitere Informationen zum Erstellen und Verwalten von Branches in GitHub Desktop findest du unter Verwalten von Branches in GitHub Desktop.
Vornehmen und Pushen von Änderungen
Nimm mithilfe deines bevorzugten Text-Editors (wie Visual Studio Code) einige Änderungen am Projekt vor. Zum Beispiel könntest du den Text in index.html
ändern, um deinen GitHub-Benutzernamen hinzuzufügen.
Wenn du bereit bist, die Änderungen zu übermitteln, stage und committe diese. git add .
teilt Git mit, dass du alle Änderungen im nächsten Commit einschließen möchtest. git commit
erstellt eine Momentaufnahme dieser Änderungen.
git add .
git commit -m "a short description of the change"
git add .
git commit -m "a short description of the change"
Weitere Informationen zum Stagen und Committen von Änderungen in GitHub Desktop findest du unter Committen und Überprüfen von Änderungen an deinem Projekt in GitHub Desktop.
Wenn du Dateien stagest und committest, teilst du Git dadurch mit, dass eine Momentaufnahme der Änderungen erstellt werden kann. Du kannst weiterhin Änderungen vornehmen und mehr Commit-Momentaufnahmen erstellen.
Deine Änderungen sind derzeit nur lokal vorhanden. Wenn du bereit bist, deine Änderungen an GitHub zu pushen, pushe deine Änderungen an die Remoteseite.
git push
git push
Weitere Informationen zum Pushen von Änderungen in GitHub Desktop findest du unter Pushen von Änderungen an GitHub von GitHub Desktop.
Erstellen eines Pull Request
Nun kannst du Änderungen am Hauptprojekt vorschlagen. Dies ist der letzte und vermutlich wichtigste Schritt bei der Erstellung eines Forks von einem fremden Projekt. Wenn du eine Änderung vorgenommen hast, von der du denkst, dass sie der Community nutzen würde, solltest du auf jeden Fall in Betracht ziehen, diese zu veröffentlichen.
Navigiere dazu zum Repository auf GitHub, wo sich dein Projekt befindet. In diesem Beispiel wäre es https://github.com/<your_username>/Spoon-Knife
. Es wird ein Banner angezeigt, das angibt, dass dein Branch ein Commit vor octocat:main
ist. Klicke auf Mitwirken und dann auf Einen Pull Request öffnen.
GitHub leitet dich zu einer Seite weiter, auf der die Unterschiede zwischen deinem Fork und dem octocat/Spoon-Knife
-Repository anzeigt werden. Klicke auf Pull Request erstellen.
GitHub leitet dich zu einer Seite weiter, auf der du einen Titel und eine Beschreibung für deine Änderungen eingeben kannst. Es ist wichtig, so viele nützliche Informationen und eine Begründung dafür zu liefern, warum du diesen Pull Request überhaupt vornimmst. DerDie Projektbesitzerin muss in der Lage sein, zu entscheiden, ob deine Änderung für die Allgemeinheit so nützlich ist, wie du denkst. Klicke schließlich auf Pull Request erstellen.
Verwalten von Feedback
Pull Requests werden viel diskutiert. Nehmen Sie es nicht persönlich, wenn derdie Projektbesitzerin Ihren Pull Request ablehnt oder weitere Informationen darüber anfordert, warum Sie ihn erstellt haben. Selbst wenn der/die Projektbesitzer*in Ihren Pull Request nicht zusammenführen möchte, sind Ihre Änderungen weiterhin in Ihrer Fork vorhanden. Es könnte sein, dass eine andere Person Ihre Fork viel wertvoller finden wird als das ursprüngliche Projekt.
Auffinden von Projekten
Du hast erfolgreich einen Fork erstellt und zu einem Repository beigetragen. Mach weiter, und trage noch mehr bei! Weitere Informationen findest du unter Möglichkeiten finden, um zu Open-Source auf GitHub beizutragen.
Vertrautmachen mit einem Projekt
Wenn du noch nicht mit einem Projekt vertraut bist, kannst du Copilot verwenden, um den Zweck des Repositorys nachzuvollziehen, Dateien zu untersuchen und bestimmte Codezeilen genauer zu betrachten. Siehe "Verwenden von GitHub Copilot zum Erkunden von Projekten."