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.