Unterschied zwischen Forken und Klonen auf GitHub
Dieser Artikel beschreibt den Unterschied zwischen Forken und Klonen auf GitHub. Wenn Sie ein regelmäßiger GitHub-Benutzer sind, sind Sie wahrscheinlich schon auf diese Begriffe gestoßen.
Für Anfänger kann das Forken und Klonen auf GitHub ziemlich verwirrend sein. Beide Begriffe gelten, wenn wir mit öffentlichen GitHub-Repositories interagieren.
Lassen Sie uns diskutieren, wie sich die beiden unterscheiden.
Unterschied zwischen Forken und Klonen auf GitHub
Wir werden definieren und diskutieren, wie jeder Begriff funktioniert und wann wir ihn anwenden sollten. Beginnen wir mit Forking.
Forken auf GitHub
Forking auf GitHub beinhaltet das Erstellen einer Kopie eines öffentlichen Repositorys in Ihrem eigenen persönlichen GitHub-Konto. Warum ein Repository auf GitHub forken?
Nehmen wir an, Sie haben ein öffentliches GitHub-Repository mit einem Projekt gefunden, das Sie testen möchten. Sie benötigen eine Kopie des Codes auf Ihrem lokalen Computer.
Wenn Sie einen Fehler im Code finden und ihn beheben können, können Sie Ihre Änderungen nicht einfach in das öffentliche Repository übertragen, es sei denn, der Eigentümer erlaubt es Ihnen.
Hier kommt Forking ins Spiel. Sobald Sie einen Fork erstellt haben, können Sie eine lokale Kopie des geforkten Repositorys erstellen, in der Sie Änderungen vornehmen können, ohne das ursprüngliche Repository zu beeinträchtigen.
Von dort aus können Sie eine Pull-Anforderung an das ursprüngliche Repository erstellen, und wenn der Eigentümer die Änderungen für ideal hält, kann er die Pull-Anforderung akzeptieren, und Ihr Code wird in das ursprüngliche Repository integriert.
Dies ist einer der verschiedenen Anwendungsfälle von Forking. Ein weiterer häufiger Anwendungsfall von Forking ist, wenn Sie gemeinsam mit anderen Entwicklern an einem Projekt arbeiten.
Angenommen, Ihr Unternehmen beschließt, das Remote-Repository auf GitHub zu hosten. In diesem Fall ist es einfacher, einen Fork des Repositorys zu erstellen, auf den Fork zu pushen und Pull-Requests zu erstellen, anstatt mehrere Entwickler auf dasselbe Repository pushen zu lassen.
Sie können Ihr lokales Repository und Ihren Fork immer dann mit der Originalkopie synchronisieren, wenn Änderungen am Original-Repository vorgenommen werden.
Wie forkt man auf GitHub?
Um ein öffentliches GitHub-Repository zu forken, navigieren Sie zum Repository und tippen Sie auf das Fork
-Symbol, wie unten dargestellt.
Es wird ein neuer Tab geladen, auf dem Sie den Namen und die Beschreibung des Forks ändern können. Wenn Sie alle Branches forken möchten, deaktivieren Sie das Kontrollkästchen Nur den Master-Branch kopieren
und klicken Sie auf Create Fork
.
Sie können dann eine lokale Kopie Ihres Fork-Repositorys erstellen, was uns zum nächsten Abschnitt führt.
Klonen auf GitHub
Wir wissen, dass die gesamte Entwicklung lokal erfolgt. Ohne eine lokale Kopie des Codes auf Ihrem Computer können Sie nicht an einem Projekt arbeiten.
Hier kommt das Klonen ins Spiel. Beim Klonen wird eine lokale Kopie eines Remote-Repositorys auf Ihrem lokalen Computer erstellt.
Sobald Sie geklont haben, können Sie mit der Optimierung des Codes beginnen und zum ursprünglichen Repository beitragen. Wie klont man ein Repository?
In diesem Beispiel machen wir dort weiter, wo wir nach dem Erstellen eines Forks aufgehört haben. Wir haben das gesehen, um eine lokale Kopie unseres Forks zu erstellen; wir müssen es klonen.
Um unseren Fork zu klonen, kopieren Sie zuerst die URL für Ihren Fork. Die URL befindet sich unter der Registerkarte Code
, wie unten dargestellt.
Kopieren Sie die URL und starten Sie Git Bash. Erstellen Sie einen Ordner, in dem Sie das Repository klonen, wie unten dargestellt.
$ mkdir myproject
Öffnen Sie den Ordner wie unten gezeigt.
$ cd myproject
Verwenden Sie den Befehl git clone
, um Ihr Repository zu klonen, wie unten dargestellt.
$ git clone https://github.com/User/Repository.git
Ergebnis:
Das Klonen kann je nach Größe des Repositorys und Ihrer Internetverbindung eine Weile dauern.
Hier ist eine Tabelle, die die Unterschiede zwischen den beiden zusammenfasst.
Gabel | Klon |
---|---|
Es ist ein Konzept | Es ist ein Prozess |
Beinhaltet nicht die Verwendung von Befehlen | Beinhaltet die Verwendung des Befehls git clone |
Wir forken auf dem GitHub-Konto | Wir klonen mit Git |
Sie können Änderungen, die an einem Fork vorgenommen wurden, per Pull-Request mit dem ursprünglichen Repo zusammenführen | Sie können Änderungen, die an einem geklonten Repository vorgenommen wurden, nur dann mit dem ursprünglichen Repository zusammenführen, wenn Sie der Eigentümer oder genehmigte Mitwirkende sind |
Zusammenfassend werden Sie auf das Konzept des Forkings und des Klonprozesses stoßen, wenn Sie mit öffentlichen Repositories interagieren, die auf GitHub gehostet werden. Die beiden funktionieren unterschiedlich und unterscheiden sich in den Anwendungsfällen.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn