git pull
ist ein Git-Befehl, mit dem die lokale Version eines Repositorys von einer Fernbedienung aktualisiert wird.
Dies ist einer der vier Befehle, die Git zur Netzwerkinteraktion auffordern. Standardmäßig werden git pull
zwei Dinge ausgeführt.
- Aktualisiert den aktuellen lokalen Arbeitszweig (aktuell ausgecheckter Zweig)
- Aktualisiert die Remote-Tracking-Zweige für alle anderen Zweige.
git pull
holt ( git fetch
) die neuen Commits und führt ( git merge
) diese in Ihrer lokalen Niederlassung zusammen.
Die Syntax dieses Befehls lautet wie folgt:
# General format git pull OPTIONS REPOSITORY REFSPEC # Pull from specific branch git pull REMOTE-NAME BRANCH-NAME
in welchem:
- OPTIONEN sind die Befehlsoptionen wie
--quiet
oder--verbose
. Weitere Informationen zu den verschiedenen Optionen finden Sie in der Git-Dokumentation - REPOSITORY ist die URL zu Ihrem Repo. Beispiel: //github.com/freeCodeCamp/freeCodeCamp.git
- REFSPEC gibt an, welche Refs abgerufen und welche lokalen Refs aktualisiert werden sollen
- REMOTE-NAME ist der Name Ihres Remote-Repositorys. Zum Beispiel: Herkunft .
- BRANCH-NAME ist der Name Ihrer Niederlassung. Zum Beispiel: entwickeln .
Hinweis
Wenn Sie nicht festgeschriebene Änderungen vorgenommen haben, schlägt der Zusammenführungsteil des git pull
Befehls fehl und Ihr lokaler Zweig bleibt unberührt.
Daher sollten Sie Ihre Änderungen immer in einem Zweig festschreiben, bevor Sie neue Festschreibungen aus einem Remote-Repository abrufen.
Inhaltsverzeichnis
- Verwenden von
git pull
- Verteilte Versionskontrolle
git fetch
+git merge
git pull
in IDEs
Mit Git Pull
Verwenden Sie git pull
diese Option, um ein lokales Repository aus dem entsprechenden Remote-Repository zu aktualisieren. Ex: Während lokal auf Arbeit master
, führen Sie git pull
die lokale Kopie zu aktualisieren master
und den anderen Remote - Tracking - Zweig zu aktualisieren. (Weitere Informationen zu Fernverfolgungszweigen finden Sie im nächsten Abschnitt.)
Es gibt jedoch einige Dinge zu beachten, damit dieses Beispiel wahr ist:
Das lokale Repository verfügt über ein verknüpftes Remote-Repository
- Überprüfen Sie dies durch Ausführen
git remote -v
- Wenn mehrere Fernbedienungen vorhanden sind, sind
git pull
möglicherweise nicht genügend Informationen vorhanden. Möglicherweise müssen Siegit pull origin
oder eingebengit pull upstream
.
Der Zweig, in den Sie gerade ausgecheckt sind, verfügt über einen entsprechenden Fernverfolgungszweig
- Überprüfen Sie dies durch Ausführen
git status
. Wenn es keinen Remote-Tracking-Zweig gibt, weiß Git nicht, woher er Informationen beziehen soll .
Verteilte Versionskontrolle
Git ist ein verteiltes Versionskontrollsystem (DVCS). Mit DVCS können Entwickler in separaten Umgebungen gleichzeitig an derselben Datei arbeiten. Nach dem Drücken Code bis zur gemeinsamen Remote - Repository, andere Entwickler können ziehen geändertenen Code.
Netzwerkinteraktionen in Git
Es gibt nur vier Befehle, die Netzwerkinteraktionen in Git veranlassen. Ein lokales Repository hat keine Kenntnis von Änderungen, die am Remote-Repository vorgenommen wurden, bis eine Informationsanforderung vorliegt. Ein Remote-Repository ist sich lokaler Änderungen erst bewusst, wenn Commits übertragen werden.
Die vier Netzwerkbefehle sind:
git clone
git fetch
git pull
git push
Niederlassungen in DVCS
Wenn Sie mit Git arbeiten, kann es sein, dass überall viele Kopien desselben Codes schweben. In jedem Zweig gibt es verschiedene Versionen derselben Datei. Und verschiedene Kopien derselben Zweige auf dem Computer jedes Entwicklers und auf der Fernbedienung. Um dies zu verfolgen, verwendet Git sogenannte Remote-Tracking-Zweige .
Wenn Sie git branch --all
in einem Git-Repository ausführen , werden Remote-Tracking-Zweige rot angezeigt. Dies sind schreibgeschützte Kopien des Codes, wie er auf der Fernbedienung angezeigt wird. (Wann war die letzte Netzwerkinteraktion, die Informationen lokal gebracht hätte? Denken Sie daran, wann diese Informationen zuletzt aktualisiert wurden. Die Informationen in den Fernverfolgungszweigen spiegeln die Informationen aus dieser Interaktion wider.)
Mit Remote-Tracking-Zweigen können Sie in Git an mehreren Zweigen ohne Netzwerkinteraktion arbeiten. Jedes Mal , wenn Sie ausführen git pull
oder git fetch
Befehle, aktualisieren Sie Remote - Tracking - Zweige .
Git Fetch plus Git Merge
git pull
ist ein Kombinationsbefehl gleich git fetch
+ git merge
.
Git holen
Auf seiner eigenen, git fetch
aktualisiert alle Remote - Tracking - Zweige in lokalen Repository. In keiner der lokalen Arbeitsniederlassungen werden Änderungen vorgenommen.
Git Merge
Ohne Argumente git merge
wird der entsprechende Remote-Tracking-Zweig mit dem lokalen Arbeitszweig zusammengeführt.
Git Pull
git fetch
aktualisiert Remote-Tracking-Zweige. git merge
aktualisiert den aktuellen Zweig mit dem entsprechenden Fernverfolgungszweig. Mit erhalten git pull
Sie beide Teile dieser Updates. Dies bedeutet jedoch, dass beim Auschecken zum feature
Verzweigen und Ausführen git pull
beim Auschecken master
keine neuen Updates enthalten sind. Wenn Sie zu einem anderen Zweig auschecken, der möglicherweise neue Änderungen aufweist, ist es immer eine gute Idee, diese auszuführen git pull
.
Git Pull in IDEs
Die gemeinsame Sprache in anderen IDES enthält möglicherweise nicht das Wort pull
. Wenn Sie nach den Wörtern Ausschau halten, sie git pull
aber nicht sehen, suchen Sie sync
stattdessen nach dem Wort .
Abrufen eines Remote-PR (Pull Request) in das lokale Repo
Zu Überprüfungszwecken und dergleichen sollten PRs in der Ferne zum lokalen Repo abgerufen werden. Sie können den folgenden git fetch
Befehl verwenden, um dies zu erreichen.
git fetch origin pull/ID/head:BRANCHNAME
ID ist die Pull-Anforderungs-ID und BRANCHNAME ist der Name des Zweigs, den Sie erstellen möchten. Sobald der Zweig erstellt wurde, können Sie git checkout
zu diesem Brach wechseln.
Weitere Ressourcen zu git in guide.freecodecamp.org
- Git zusammenführen
- Git Checkout
- Git Commit
- Git Stash
- Git-Zweig