Sobes.tech
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 fetchgit 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.