Mi a különbség a pull és fetch parancsok között a Git-ben?
sobes.tech MI
Válasz az MI-től
A git fetch letölti a változtatásokat egy távoli tárhelyről, de nem alkalmazza azokat a jelenlegi ágakra.
A git pull végrehajt egy git fetch-t, majd automatikusan (merge) összefésüli a kapott változtatásokat a jelenlegi ággal.
Fő különbségek:
| Parancs | Művelet | Hatás a munkamásolatra / ágra |
|---|---|---|
git fetch |
Objektumokat (commit, fájlok) tölt le | Nem változtatja a munkamásolatot vagy a jelenlegi ágat |
git pull |
Objektumokat tölt le és egyesíti a változásokat | Frissíti a jelenlegi ágat és a munkamásolatot |
Használati példa:
Csak nézd meg, mi változott a távoli szerveren:
git fetch origin
(A változásokat ellenőrizheted a git log origin/<ág> segítségével)
A változások letöltése és automatikus alkalmazása a jelenlegi ágra:
git pull origin main # például
A git pull lényegében egyenértékű a git fetch és a git merge vagy git rebase szekvenciális végrehajtásával (beállításoktól függően).
# Egyenértékű a git pull-lal
git fetch origin
git merge origin/main # ha a jelenlegi ág a main és merge stratégiát használod
A git fetch használata nagyobb kontrollt ad, mivel lehetővé teszi a bejövő változások áttekintését a összevonás előtt. A git pull gyors szinkronizációra alkalmas.