Was ist der Unterschied zwischen Forking und Cloning auf GitHub?
Ich würde gerne wissen, die Unterschiede zwischen einen Fork eines Projekts und dabei eine clone
.
Kann ich nur senden, ziehen Sie Anfragen per GitHub wenn ich habe die Gabel ein Projekt?
Kommentar zu dem Problem
Mögliche Duplikate von git-Gabeln eigentlich git Klone?
InformationsquelleAutor der Frage Steve Dunn | 2011-08-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Grundsätzlich ja. Eine
fork
ist nur ein Antrag für GitHub zu Klonen Sie das Projekt und schreibt es unter Ihrem Benutzernamen; GitHub verfolgt auch die Beziehung zwischen den beiden repositories, so dass Sie visualisieren können, die commits und zieht zwischen den beiden Projekten (und anderen Gabeln).Können Sie noch bitten, die Menschen ziehen aus Ihrer geklonten repository, auch wenn Sie nicht
fork
-- aber Sie würden zu tun haben Zugänglichmachung selbst. Oder schicken Sie die Entwickler-patches (siehegit format-patch
), die Sie anwenden können, um Ihre Bäume.InformationsquelleAutor der Antwort michel-slm
Wenn Sie sagen, Sie sind Gabelung ein repository, das Sie im Grunde erstellen Sie eine Kopie des Repositorys unter Ihrem GitHub-ID. Der wichtigste Punkt hier zu beachten ist, dass änderungen an der original-repository wird wieder reflektiert werden, um Ihre Gabel - repositories, die Sie brauchen, zu Holen und Stellungswechsel). Allerdings, wenn Sie änderungen an Ihrem Gabel - repository müssen Sie explizit erstellen Sie eine pull-Anforderung an die original repository. Wenn Sie Ihre pull-request ist genehmigt durch den administrator des original-repository, dann werden Ihre änderungen committed/verschmolzen mit den vorhandenen original code-Basis. Bis dann, Ihre änderungen werden nur in der Kopie, die Sie Gabel.
Kurz:
Den Fork & Pull-Modell kann jeder Gabel ein vorhandenes repository und drücken Sie änderungen zu Ihren persönlichen fork ohne Zugriff gewährt werden, um das Quell-repository. Die änderungen müssen dann gezogen werden, in das Quell-repository, die von der Projekt-maintainer.
Beachten Sie, dass nach der Gabelung können Sie Klonen das repository (unter Ihrem Namen) lokal auf Ihrem Rechner. Änderungen in es und schieben Sie es auf Ihre Gabel-repository. Allerdings widerspiegeln die änderungen in das original-repository ist das pull-Anfrage genehmigt werden muss.
Paar andere interessante Diskussionen -
Sind git Gabeln eigentlich git Klone?
Wie aktualisiere ich ein GitHub-Gabel-repository?
InformationsquelleAutor der Antwort Aniket Thakur
Ein Klon ist, wo Sie die ordnungsgemäße Duplizierung und Trennung zwischen zwei (möglicherweise verschiedene) Versionen eines repository. Wenn ein repo ist geändert, der neue Inhalt muss aktiv kopiert, um die anderen repo über einen push-Befehl. Und änderungen in den anderen repo geholt.
Wenn Sie die Gabel ein repo auf einem server, gibt es keine Notwendigkeit für die Vervielfältigung der Inhalte, da beide repos wird die gleiche [fest -] die Inhalte aus, die gleichen server. Der "trick" ist bei der Verwaltung der verschiedenen Benutzer Standpunkte, so dass jeder Benutzer glaubt, dass Sie eine persönliche Kopie von dem repo. Schiebt und holt sich zwischen den Gabeln ist einfach updates des Benutzers Zeiger.
Auf einem niedrigeren Niveau, git macht das gleiche intern. Wenn Sie drei verschiedene Dateien, die jeweils
Hello World
, dann git einfach in die "Gabeln" eine einzelne Kopie der "Hello World" - Blobs und bietet es in jedem der drei Orte als erforderlich.Die Fähigkeit zur Gabel auf dem server bedeutet, dass Github große Speicherplatz ist nicht so groß, im Durchschnitt wie jeder Körper-Aktien, die eine einzige zugrunde liegende repo.
InformationsquelleAutor der Antwort Philip Oakley
Kannst du auf dem online-repo (oder sich verpflichten, auf Ihre lokale repo, und drücken Sie dann, um Ihre online-repo), dann schicken pull-request.
Projekt-manager kann es akzeptieren, um Ihre Veränderungen in seinem wichtigsten online-version.
InformationsquelleAutor der Antwort Alisa
In einer nussschale, die Verzweigung ist vielleicht das gleiche wie "Klonen unter Ihrem GitHub-ID/Profil". Eine Abspaltung ist jederzeit besser als ein Klon, mit ein paar Ausnahmen natürlich. Die Gabel-repository ist immer überwacht/im Vergleich mit dem original-repository im Gegensatz zu einem geklonten repository. Können Sie die Veränderungen verfolgen, initiieren, pull-requests und auch manuell synchronisieren Sie die änderungen in die original-repository mit Ihrer Gabel.
InformationsquelleAutor der Antwort Farhan Haque
In Fall, dass Sie Tat, was der Fragesteller angedeutet (vergessen, Gabel und nur lokal geklonte repo, änderungen vorgenommen und nun muss eine pull-Anforderung) können Sie wieder auf die Strecke:
InformationsquelleAutor der Antwort Princess Ruthie
Anderen komisch feinen Unterschied auf GitHub ist, dass änderungen, die Gabeln sind nicht gezählt in deinem Aktivitätenprotokoll, bis Ihre änderungen sind gezogen in das original-repo. Was mehr ist, zum ändern einer Gabel in einen richtigen Klon, nehmen Sie bitte Kontakt mit Github-Unterstützung, offensichtlich.
Vom Warum werden meine Beiträge nicht angezeigt:
InformationsquelleAutor der Antwort BJennings
Während @AniketThakur die Antwort ist sehr gut. Niemand hat beantwortet die folgende Frage noch.
Nicht. Wenn Sie einen Beitrag auf einem repository, können Sie: Machen Sie einen lokalen Klon. Stellen Sie eine lokale Niederlassung. Fügen Sie verpflichtet sich, die Niederlassung. Drücken Sie die lokalen Zweig zurück auf github (erstellen eines remote-branch in den Prozess). Machen Sie einen pull-request anfordert, für diesen Zweig zusammengeführt werden, in den master-branch (oder in welchem Zweig Sie möchten).
InformationsquelleAutor der Antwort Theodore Norvell