Was ist der Unterschied zwischen (nach mkdir repo
und cd repo
):
git init
git remote add origin git://github.com/cmcculloh/repo.git
git fetch --all
git pull origin master
und
git clone git://github.com/cmcculloh/repo.git
Ich meine, offensichtlich ist einer kürzer, aber abgesehen davon machen sie im Grunde das Gleiche?
git clone
Auf diese Weise erhalten Sie eine lokale Kopie eines vorhandenen Repositorys, an dem Sie arbeiten können. Es wird normalerweise nur einmal für ein bestimmtes Repository verwendet, es sei denn, Sie möchten mehrere Arbeitskopien davon haben. (Oder möchten Sie eine saubere Kopie erhalten, nachdem Sie Ihre lokale durcheinander gebracht haben ...)git pull
(odergit fetch
+git merge
) ist, wie Sie diese lokale Kopie mit neuen Commits aus dem Remote-Repository aktualisieren . Wenn Sie mit anderen zusammenarbeiten, ist dies ein Befehl, den Sie häufig ausführen.Wie Ihr erstes Beispiel zeigt, ist es möglich,
git clone
mit einer Auswahl anderer Git-Befehle zu emulieren , aber es ist nicht wirklich der Fall, dassgit pull
"im Grunde das Gleiche" wiegit clone
(oder umgekehrt) getan wird .quelle
In der Sprache der Laien können wir sagen:
quelle
git clone
bedeutet, dass Sie eine Kopie des Repositorys in Ihrem System erstellen.git fork
bedeutet, dass Sie das Repository in Ihr Github-Konto kopieren.git pull
bedeutet, dass Sie das zuletzt geänderte Repository abrufen.git push
bedeutet, dass Sie das Repository nach dem Ändern zurückgeben.In Laienbezeichnung:
git clone
wird heruntergeladen undgit pull
aktualisiert.quelle
Klon : Kopieren des Remote-Server-Repositorys auf Ihren lokalen Computer.
pull : Holen Sie sich neue Änderungen, die andere Ihrem lokalen Computer hinzugefügt haben.
Das ist der Unterschied.
Klon wird im Allgemeinen verwendet, um eine Remote-Repo-Kopie zu erhalten.
Pull wird verwendet, um den von anderen Teamkollegen hinzugefügten Code anzuzeigen, wenn Sie in Teams arbeiten.
quelle
Der Git-Klon wird verwendet, um nur genau das herunterzuladen, was gerade auf dem Remote-Server-Repository ausgeführt wird, und es im Ordner Ihres Computers zu speichern, in dem sich das Projekt befindet. Meistens wird es nur verwendet, wenn wir das Projekt zum ersten Mal hochladen. Danach ist das Ziehen die bessere Option.
Git Pull ist im Grunde eine (Klon (Download) + Merge) Operation und wird meistens verwendet, wenn Sie als Teamwork arbeiten. Mit anderen Worten, wenn Sie die letzten Änderungen in diesem Projekt wünschen, können Sie ziehen.
quelle
Miss Clone: Ich bekomme eine neue Kopie an local.
Herr Pull: Ich habe es bereits vor Ort, ich aktualisiere es nur.
Miss Clone: Ich kann tun, was Sie tun! Du bist nur meine Untergruppe.
Mr Pull: Das Gleiche!
Miss Clone: Nein, Sie erstellen nicht. Das ist was ich mache:
Du machst nur # 3 und dann verschmelzst du, was ich nicht tun muss (meins ist frisch).
Mr Pull: Kluge Hosen, keine große Sache, ich werde zuerst einen "Git Init" machen! Dann sind wir gleich. Außerdem habe ich die zusätzliche Zusammenführungsfunktion für vorhandene Repos! Was mich zum am häufigsten verwendeten Befehl in Git macht;)
Git-Ersteller: Halten Sie Ihre Pferde Mr Pull, wenn --bare oder --mirror mit Klon oder Init verwendet wird, wird Ihre Zusammenführung nicht stattfinden. Es bleibt schreibgeschützt.
quelle
Hmm, was fehlt, um den Remote-Zweig "4.2" beim Ziehen zu sehen, wie beim Klonen? Etwas ist eindeutig nicht identisch.
vs.
quelle
git clone URL ---> Das vollständige Projekt oder Repository wird als separates Verzeichnis heruntergeladen. und nicht nur die Änderungen git pull URL ---> fetch + merge -> Es werden nur die vorgenommenen Änderungen abgerufen und nicht das gesamte Projekt
quelle
Während der
git fetch
Befehl alle Änderungen auf dem Server abruft, die Sie noch nicht haben, ändert er Ihr Arbeitsverzeichnis überhaupt nicht. Es werden einfach die Daten für Sie abgerufen und Sie können sie selbst zusammenführen. Es wird jedoch ein Befehl aufgerufen, aufgit pull
den in den meisten Fällen im Wesentlichengit fetch
unmittelbar ein folgtgit merge
.Lesen Sie mehr: https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Pulling
quelle
Klonen -: Es wird genau eine Kopie Ihres Remote-Repository-Projekts auf Ihrem lokalen Computer erstellt.
Pull -: Angenommen, zwei oder mehr Personen teilen sich dasselbe Repository. (Angenommen, ein anderer Personenname ist Syam.) (Ein Repository ist ein Ort, an dem Ihr Projekt in Github vorhanden ist.) Wenn Syam also einige Änderungen an demselben Projekt in seinem lokalen Projekt vornimmt und es in das Remote-Repository überträgt. Unabhängig von den Änderungen, die Syam vorgenommen hat, werden diese Änderungen vorgenommen nicht in Ihrem lokalen reflektieren. Um diese neuen Änderungen in Ihrer Region widerzuspiegeln, müssen Sie Git Pull verwenden. Insgesamt verwenden wir Git Pull, um das Projekt zu aktualisieren.
Grundsätzlich verwenden wir den Git-Klon nur einmal, während wir den Git-Pull oft verwenden.
quelle