Sobes.tech
Junior

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.