git pull va git fetch — bulutdagi (remote) yangilanishlarni mahalliy repository’ga oladigan buyruqlar. Jamoada ishlaganingizda, boshqalar ham kod yuboradi. Ularning o’zgarishlarini olish uchun pull va fetch ishlatiladi. Ikkovi o’xshash, ammo muhim farqi bor.
git fetch va git pull —
fetchbulutdagi o’zgarishlarni yuklab oladi, ammo mahalliy kodga qo’shmaydi;pullesa yuklab oladi va darhol birlashtiradi (fetch+merge).
git pull — olish va birlashtirish
git pull bulutdagi o’zgarishlarni oladi va joriy tarmoqqa darhol birlashtiradi:
git pull
remote: Enumerating objects: 3, done.
Updating a1b2c3d..d4e5f6a
Fast-forward
yangi.txt | 1 +
1 file changed, 1 insertion(+)
git pull bulutdagi yangi commit’larni oldi va main ga birlashtirdi. Endi mahalliy kod bulut bilan bir xil. Bu — jamoa ishida ish boshlashdan oldin bajariladigan odatiy amal.
git fetch — faqat olish
git fetch bulutdagi o’zgarishlarni yuklab oladi, ammo mahalliy kodga qo’shmaydi. Bu sizga avval ko’rib chiqish imkonini beradi:
git fetch
git log origin/main --oneline
d4e5f6a Jamoadosh o'zgarishi
a1b2c3d Salomlashuv qo'shildi
git fetch yangi commit’larni yukladi, ammo hali birlashtirmadi. git log origin/main bilan ularni ko’rib, keyin git merge origin/main bilan birlashtirish mumkin. Bu ehtiyotkorroq yondashuv.
pull va fetch farqi
Ikki buyruqni jadvalda solishtiramiz:
| Xususiyat | git fetch |
git pull |
|---|---|---|
| O’zgarishni yuklaydi | Ha | Ha |
| Darhol birlashtiradi | Yo’q | Ha |
| Xavfsizligi | yuqoriroq (avval ko’rasiz) | tezroq (avtomatik) |
| Formula | faqat yuklash | fetch + merge |
Amaliy qoida: tez ishlash uchun pull, avval o’zgarishlarni ko’rib chiqish uchun fetch.
Kundalik jamoa jarayoni
Jamoada ishlashning odatiy davrasini ko’ramiz:
git pull # yangilanishlarni olamiz
# ... ishlaymiz ...
git add .
git commit -m "Mening ishim"
git push # o'zimizni yuboramiz
Already up to date.
[main e5f6a7b] Mening ishim
To https://github.com/uzbekdevs/loyiha.git
Ish boshida pull (yangilanishlarni olish), ish oxirida push (o’zimizni yuborish) — bu jamoa ishining oltin naqshidir.
Xulosa
Bu bo’limda git pull (olish + birlashtirish), git fetch (faqat olish), ularning farqini va kundalik jamoa jarayonini ko’rib chiqdik. Bu buyruqlar jamoa ishida sinxronlikni ta’minlaydi. Keyingi darsda GitHub’da repository yaratishga o’tamiz.