Skip to main content

Zu einem Projekt beitragen

Erfahre, wie du durch Forken zu einem Projekt beiträgst.

Platform navigation

Informationen zu Forks

Wenn du zu einem anderen Projekt beitragen möchtest, aber keinen Schreibzugriff auf das Repository hast, kannst du einen Fork- und Pull Request-Workflow verwenden.

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.

Du kannst einen Beitrag leisten, indem du Pull Requests von deinem Fork an das Upstream-Repository übermittelst. Weitere Informationen findest du unter Ein Repository forken.

Repository forken

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.

  1. Navigiere zum Spoon-Knife-Projekt auf https://github.com/octocat/Spoon-Knife.

  2. Klicke in der oberen rechten Ecke der Seite auf Forken.

    Screenshot der Hauptseite eines Repositorys. Eine Schaltfläche mit einem Forkensymbol und der Bezeichnung „Fork 59.3k“ ist dunkelorange umrandet.

  3. 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.

  4. 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.

  5. Gib optional im Feld „Beschreibung“ eine Beschreibung für deinen Fork ein.

  6. 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.

  7. 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 findest du unter Erstellen und Löschen von Branches in deinem Repository.

Klonen eines Forks

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.

  1. Navigiere auf GitHub im Spoon-Knife-Repository zu deinem Fork.

  2. Klicke oberhalb der Liste der Dateien auf Code.

    Screenshot: Liste der Dateien auf der Startseite eines Repositorys. Die Schaltfläche „Code“ ist orange umrandet.

  3. 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 .

      Screenshot des Dropdownmenüs „Code“ Rechts neben der HTTPS-URL für das Repository ist ein Kopiersymbol dunkelorange umrandet.

  4. Öffne TerminalTerminalGit Bash.

  5. Ändere das aktuelle Arbeitsverzeichnis zum Speicherort, in dem Du das geklonte Verzeichnis haben willst.

  6. Gib git clone ein, und füge dann die zuvor kopierte URL ein. Sie sieht wie folgt aus (anstelle von YOUR-USERNAME wird dein GitHub-Benutzername verwendet):

    git clone https://github.com/YOUR-USERNAME/Spoon-Knife
    
  7. 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
  1. Klicke im Menü File auf Repository klonen.

    Screenshot der Menüleiste auf einem Mac. Das Dropdownmenü „Datei“ wird erweitert, und die Option „Repository klonen“ ist orange umrandet.

    Screenshot der Menüleiste „GitHub Desktop“ unter Windows. Das Dropdownmenü „Datei“ wird erweitert, und die Option „Repository klonen“ ist orange umrandet.

  2. Klicke auf die Registerkarte, die dem Speicherort des zu klonenden Repositorys entspricht. Du kannst auch auf URL klicken, um den Repository-Speicherort manuell einzugeben.

    Screenshot des Fensters „Repository klonen“. Oben im Fenster werden Registerkarten mit der Bezeichnung „GitHub.com“, „GitHub Enterprise“ und „URL“ durch einen orangefarbenen Rahmen hervorgehoben.

  3. Klicke in der Liste der Repositorys auf das Repository, das du klonen möchtest.

    Screenshot des Fensters „Repository klonen“. Das Repository „github/docs“ ist orange umrandet.

  4. 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.

    Screenshot des Fensters „Repository klonen“. Eine Schaltfläche mit der Beschriftung „Auswählen“ ist orange umrandet.

  5. 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 Branch erstellen und ihn auschecken. Indem du Änderungen in einem eigenen Branch verwaltest, folgst du dem GitHub-Flow und vereinfachst eine spätere erneute Mitwirkung am selben Projekt. Weitere Informationen findest du 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. Du könntest beispielsweise 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.