Sobes.tech
Junior

Mis vahe on käskudel pull ja fetch Git-is?

sobes.tech AI

Vastus AI-lt

git fetch laadib alla muudatused kaugdepost, kuid neid ei rakenda praegusele harule. git pull teeb git fetch ja seejärel automaatselt (merge) ühendab saadud muudatused praeguse haruga.

Peamised erinevused:

Käsk Tegevus Mõju töökoopiale / harule
git fetch Laadib alla objekte (commitid, failid) Ei muuda töökoopiat ega praegust haru
git pull Laadib objekte ja ühendab muudatused Uuendab praegust haru ja töökoopiat

Näide kasutamisest:

Lihtsalt vaadake, mis on kaugserveril muutunud:

git fetch origin

(Muudatusi saab kontrollida git log origin/<haru>-ga)

Muudatuste saamiseks ja automaatselt rakendamiseks praegusele harule:

git pull origin main # näiteks

git pull on põhimõtteliselt võrdne git fetch ja git merge või git rebase järgneva täitmisega (sõltuvalt seadistustest).

# Võrdne `git pull`
git fetch origin
git merge origin/main # kui praegune haru on main ja kasutate merge strateegiat

git fetch kasutamine annab suurema kontrolli, kuna võimaldab enne ühendamist vaadata sisenevaid muudatusi. git pull on mugav kiireks sünkroniseerimiseks.