OK finden Sie hier einige Informationen über git pull
y git fetch
damit Sie die tatsächlichen Unterschiede verstehen können... in wenigen einfachen Worten, abrufen. holt sich die neuesten Daten, aber nicht die Code-Änderungen und wird nicht mit Ihrem aktuellen lokalen Zweig-Code durcheinander bringen, aber ziehen die Code-Änderungen zu erhalten und sie in Ihren lokalen Zweig einzubinden, lesen Sie weiter, um weitere Einzelheiten zu erfahren:
Mitnahmewerkzeug
Es werden alle refs y Objekte und alle neuen Zweige in Ihr lokales Repository...
Holen Sie Zweige und/oder Tags (zusammenfassend "refs") aus einem oder mehreren anderen Repositories, zusammen mit den Objekten, die zur Vervollständigung ihrer Historie zu vervollständigen. Zweige mit Fernverfolgung werden aktualisiert (siehe die Beschreibung unten für Möglichkeiten, dieses Verhalten zu steuern).
Standardmäßig wird jedes Tag, das auf die abzurufenden Geschichten verweist geholt; dadurch werden Tags geholt, die auf Zweige verweisen, die an denen Sie interessiert sind. Dieses Standardverhalten kann mit den Optionen die Optionen --tags oder --no-tags oder durch die Konfiguration von remote..tagOpt. Durch die Verwendung einer refspec, die Tags explizit abruft, können Sie auch Tags abrufen, die nicht auf Zweige verweisen, die Sie interessieren interessieren.
git fetch kann entweder von einem einzelnen benannten Repository oder einer URL abrufen oder von mehreren Repositories auf einmal abrufen, wenn ein remotes. in der Konfigurationsdatei vorhanden ist. (Siehe git-config 1 ).
Wenn keine Gegenstelle angegeben ist, wird standardmäßig die Ursprungsgegenstelle verwendet, es sei denn, es gibt einen Upstream-Zweig, der für den aktuellen Zweig konfiguriert ist.
Die Namen der abgerufenen Referenzen zusammen mit den Objektnamen auf die sie zeigen, werden in .git/FETCH_HEAD geschrieben. Diese Informationen können Skripten oder anderen Git-Befehlen, wie git-pull, verwendet werden.
Git-Pull
Es werden die Änderungen aus remote zum aktuelle Branche in lokalen...
Fügt Änderungen aus einem entfernten Repository in den aktuellen Zweig ein. In seinem Standardmodus ist git pull eine Abkürzung für git fetch, gefolgt von git merge FETCH_HEAD.
Genauer gesagt: git pull führt git fetch mit den angegebenen Parametern und ruft git merge auf, um die abgerufenen Zweigköpfe mit dem aktuellen Zweig zusammenzuführen. Mit --rebase wird git rebase anstelle von git merge ausgeführt.
sollte der Name eines entfernten Repositorys sein, wie er an git-fetch 1 . kann eine beliebige Remote-Referenz benennen (z. B., der Name eines Tags) oder sogar eine Sammlung von refs mit entsprechenden Remote-Tracking-Zweigen (z.B. refs/heads/ :refs/remotes/origin/ ), aber normalerweise ist es der Name eines Zweigs im entfernten Repository.
Die Standardwerte für und werden aus der Datei "remote"- und "merge"-Konfiguration für den aktuellen Zweig gelesen, die durch git-branch --track.
Ich erstelle auch die visuell unten, um Ihnen zu zeigen, wie git fetch
y git pull
zusammenarbeiten...
439 Stimmen
Ich habe diesen gut geschriebenen Artikel über git fetch und git pull gefunden, der es wert ist, gelesen zu werden: longair.net/blog/2009/04/16/git-fetch-and-merge
70 Stimmen
Unser alternativer Ansatz hat sich
git fetch; git reset --hard origin/master
als Teil unseres Arbeitsablaufs. Es blendet lokale Änderungen aus, hält Sie mit dem Master auf dem Laufenden, stellt aber sicher, dass Sie nicht einfach neue Änderungen über die aktuellen Änderungen ziehen und ein Durcheinander verursachen. Wir verwenden es schon eine Weile und es fühlt sich in der Praxis viel sicherer an. Stellen Sie nur sicher, dass Sie alle laufenden Arbeiten zuerst hinzufügen/übertragen/verstecken!40 Stimmen
Vergewissern Sie sich, dass Sie wissen, wie man git stash richtig verwendet. Wenn du nach "pull" und "fetch" fragst, dann ist vielleicht auch "stash" erklärungsbedürftig...
49 Stimmen
Viele Leute, die von Mercurial kommen, benutzen "git pull", weil sie denken, es sei ein Äquivalent für "hg pull". Das ist es aber nicht. Git's Äquivalent zu "hg pull" ist "git fetch".
0 Stimmen
Ein sehr gut geschriebener Artikel über git pull vs fetch freecodecamp.org/news/git-fetch-vs-pull
1 Stimmen
Git pull zieht aus einem entfernten Zweig und führt ihn zusammen. git fetch holt nur aus dem entfernten Zweig, führt ihn aber nicht zusammen.
0 Stimmen
Kurze Antwort | git fetch - Sie können die Dateien einsehen, die nach Ihrem letzten Pull übertragen wurden, ohne diese Codes zusammenzuführen. | git pull - Holen Sie sich die Änderungen an Ihrer Codebasis. Es erfolgt ein automatisches Zusammenführen mit Ihrer Codebasis.