Darsliklar GIT Stash

GIT GIT Stash

git stash — tugallanmagan o’zgarishlarni vaqtincha “cho’ntakka” solib qo’yadigan buyruq. Ish o’rtasida shoshilinch boshqa vazifa chiqib qolsa — masalan, boshqa tarmoqda xatoni tuzatish kerak bo’lsa — hozirgi o’zgarishlarni commit qilmasdan vaqtincha yashirasiz, so’ng keyin qaytarasiz. Bu kundalik ishda juda qo’l keladi.

git stashtugallanmagan o’zgarishlarni vaqtincha saqlab, working directory’ni toza holatga qaytaradigan buyruq. Yashiringan o’zgarishlarni keyin qaytarib olish mumkin.

O’zgarishni yashirish

git stash joriy o’zgarishlarni yashiradi va faylni oxirgi commit holatiga qaytaradi:

git stash
Saved working directory and index state WIP on main: a1b2c3d Oxirgi commit

O’zgarishlaringiz “cho’ntakka” solindi va working directory toza bo’ldi. Endi bemalol boshqa tarmoqqa o’tib, boshqa ish qilishingiz mumkin.

Yashiringan o’zgarishni qaytarish

Ishingiz tugagach, yashiringan o’zgarishlarni git stash pop bilan qaytarasiz:

git stash pop
Changes not staged for commit:
  modified:   salom.txt
Dropped stash@{0}

git stash pop yashiringan o’zgarishlarni qaytardi va cho’ntakdan o’chirdi. Endi ishingizni davom ettirishingiz mumkin — go’yo hech narsa uzilmagandek.

stash buyruqlari

git stash ning asosiy buyruqlarini jadvalda ko’ramiz:

Buyruq Vazifasi
git stash o’zgarishni yashiradi
git stash list yashiringanlar ro’yxati
git stash pop qaytaradi va o’chiradi
git stash apply qaytaradi, ammo saqlab qoladi
git stash drop yashiringanni o’chiradi

Bir necha stash

git stash bir necha marta ishlatilishi mumkin — har biri alohida saqlanadi. git stash list ularni ko’rsatadi:

git stash list
stash@{0}: WIP on main: Yangi funksiya
stash@{1}: WIP on main: Eski o'zgarish

Har bir stash stash@{raqam} bilan belgilanadi. Ma’lum birini qaytarish uchun git stash pop stash@{1} yoziladi. Bu bir necha tugallanmagan ishni boshqarishda foydali.

Amaliy holat

Tipik holat: main da funksiya yozayapsiz, birdan shoshilinch xato tuzatish kerak bo’ldi. Yechim:

git stash                    # ishni yashiramiz
git switch -c shoshilinch    # xato tuzatish tarmog'i
# ... xatoni tuzatamiz ...
git switch main
git stash pop                # ishni qaytaramiz
[Ish uzilmasdan davom etadi]

git stash ishingizni yo’qotmasdan, kontekstni tez almashtirish imkonini beradi.

Xulosa

Bu bo’limda git stash bilan o’zgarishni yashirish, pop/apply bilan qaytarish, list bilan ko’rish va amaliy holatni ko’rib chiqdik. Stash — ish o’rtasida kontekstni tez almashtirishning quroli. Keyingi darsda git reset bilan orqaga qaytishga o’tamiz.