Junior
Git-də pull və fetch əmrləri arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
git fetch uzaq depozodakı dəyişiklikləri yükləyir, lakin onları mövcud şaxəyə tətbiq etmir.
git pull git fetch edir və sonra avtomatik olaraq (merge) alınan dəyişiklikləri mövcud şaxə ilə birləşdirir.
Əsas fərqlər:
| Əmr | Əməliyyat | İşçi nüsxə / şaxəyə təsiri |
|---|---|---|
git fetch |
Ob'ektləri (commitlər, fayllar) yükləyir | İşçi nüsxəni və ya mövcud şaxəni dəyişmir |
git pull |
Ob'ektləri yükləyir və dəyişiklikləri birləşdirir | Mövcud şaxəni və işçi nüsxəni yeniləyir |
İstifadə nümunəsi:
Uzaq serverdə nə dəyişib görmək üçün:
git fetch origin
(Dəyişiklikləri git log origin/<şaxə> ilə yoxlamaq olar)
Dəyişiklikləri almaq və avtomatik tətbiq etmək üçün:
git pull origin main # məsələn
git pull əsasən git fetch və git merge və ya git rebase-in ardıcıl icrasına bərabərdir (ayarlarınızdan asılı olaraq).
# `git pull`-ə bərabər
git fetch origin
git merge origin/main # əgər mövcud şaxə main-dirsə və merge strategiyasından istifadə edirsinizsə
git fetch istifadə etmək daha çox nəzarət imkanı verir, çünki birləşdirmədən əvvəl daxil olan dəyişiklikləri nəzərdən keçirmək mümkündür. git pull sürətli sinxronizasiya üçün əlverişlidir.