Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Werfen wir einen Blick auf den Unterschied zwischen Git Fetch und Git Pull

Werfen wir einen Blick auf den Unterschied zwischen Git Fetch und Git Pull

coldplay.xixi
coldplay.xixinach vorne
2021-04-26 16:46:002289Durchsuche

Werfen wir einen Blick auf den Unterschied zwischen Git Fetch und Git Pull

Sowohl Git Fetch als auch Git Pull können das Remote-Repository auf das lokale aktualisieren. Es gibt also mehrere Konzepte, die erwähnt werden müssen, um dieses Problem zu klären.

Empfohlen (kostenlos): Git

FETCH_HEAD: Es handelt sich um einen Versionslink, der in einer lokalen Datei aufgezeichnet wird und auf die Endversion des Zweigs verweist, der aus dem Remote-Warehouse entfernt wurde.
Commit-ID: Nachdem jede lokale Arbeit abgeschlossen ist, wird ein Git-Commit-Vorgang ausgeführt, um die aktuelle Arbeit im lokalen Repo zu speichern. Zu diesem Zeitpunkt wird eine Commit-ID generiert, bei der es sich um eine eindeutige Seriennummer handelt identifiziert eine Version. Nach der Verwendung von Git Push wird diese Seriennummer auch mit dem Remote-Warehouse synchronisiert.

Mit den oben genannten Konzepten sprechen wir über Git Fetch
Git Fetch: Dadurch wird die neueste Commit-ID der in allen Remote-Warehouses in Git Remote enthaltenen Zweige aktualisiert und in der Datei .git/FETCH_HEAD aufgezeichnet
Git fetch Der Weg zum Aktualisieren des Remote-Repositorys ist wie folgt:

git fetch origin master:tmp 
//在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
git diff tmp 
//来比较本地代码与刚刚从远程下载下来的代码的区别
git merge tmp
//合并temp分支到本地的master分支
git branch -d temp
//如果不想保留temp分支 可以用这步删除

(1) Wenn Sie git fetch direkt verwenden, sind die Schritte wie folgt:

  • Erstellen und aktualisieren Sie den lokalen Remote-Zweig. Das heißt, erstellen und aktualisieren Sie den Zweig origin/xxx und ziehen Sie den Code in den Zweig origin/xxx.
  • Legen Sie die Korrespondenz zwischen aktuellem Zweig-Ursprung und aktuellem Zweig in FETCH_HEAD fest. Wenn Sie Git Merge direkt verwenden, kann Ursprung/abc mit dem abc-Zweig zusammengeführt werden.

(2) git fetch origin
Geben Sie einfach manuell die abzurufende Fernbedienung an. Wenn kein Zweig angegeben ist, wird normalerweise standardmäßig „master“ verwendet. (3) Git fetch origin dev gibt „remote remote“ und „FETCH_HEAD“ an und ruft nur die Commits dieses Zweigs ab. Git Pull Verwenden Sie git merge, um es zusammenzuführen. Mit dem lokalen aktuellen Zweig zusammenführen. Man kann also davon ausgehen, dass Git Pull eine Kombination der beiden Schritte Git Fetch und Git Merge ist
.
Die Verwendung von Git Pull ist wie folgt:

git pull <远程主机名> <远程分支名>:<本地分支名>
//取回远程主机某个分支的更新,再与本地的指定分支合并。

Daher dient Git Fetch dazu, die neueste Version von der Fernbedienung auf die lokale Version zu holen, sie wird jedoch nicht automatisch zusammengeführt . Und Git Pull ruft alle Remote-Indizes ab und führt sie in lokalen Zweigen zusammen
. Wenn der Effekt derselbe ist, ist Git Pull schneller.

Das obige ist der detaillierte Inhalt vonWerfen wir einen Blick auf den Unterschied zwischen Git Fetch und Git Pull. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen