git stash, rebase va merge farqi, interaktiv rebase, cherry-pick, reflog bilan tiklash
10-sinfDevOps6-hafta · 16-darsIshni chetga qo'yish
Tarixni boshqarish
Tiklash
Ikki branch o'zgarishlarini birlashtiruvchi buyruq?
git merge branch larni birlashtiradi.Ishni chetga qo'yish
git stash push -m "login formasi yarim"
git switch main
# ... shoshilinch tuzatish, commit ...
git switch feature/login
git stash list
git stash pop
git stash push -u -m "..." yangi fayllarni ham saqlaydi. Stash ga xabar (-m) yozing, aks holda keyin nimaligini topolmaysiz.git stash pop nima qiladi?
pop — qaytarish + stash dan olib tashlash.Tarixni boshqarish
git switch feature/hello-button
git fetch origin
git rebase origin/main
# konflikt bo'lsa:
git add .
git rebase --continue
git rebase -i HEAD~3
git switch main
git cherry-pick a1b2c3d
git push --force-with-lease ishlatiladi, --force emas, va faqat o'z branch ingizda.Qaysi tarixni rebase qilmaslik kerak?
Tiklash
git reset --hard HEAD~2
git reflog
git switch -c tiklangan a1b2c3d
git log --oneline
reset --hard o'rniga yangi branch ochish xavfsizroq: hech narsa ustiga yozilmaydi.git reflog nimani ko'rsatadi?
Umumiy branch da merge xavfsizroq.
Tugallanmagan ishni vaqtincha saqlash
Commit larni yangi bazaga ko'chirish
Bitta commit ni ko'chirib olish
HEAD harakatlari jurnali
Kerakli holatni toping.
Commit identifikatorini oling.
Yangi branch da tiklang.
| Vaziyat | Buyruq | Eslatma |
|---|---|---|
| Ish tugamagan, branch almashtirish kerak | git stash | pop bilan qaytarasiz |
| Branch ni yangilash | git rebase main | push qilinmaganda |
| Commit larni birlashtirish | rebase -i | squash |
| Bitta commit kerak | cherry-pick | SHA kerak |
| Commit yo'qoldi | git reflog | lokal jurnal |
Pastga bosing: tanlash
git stash push -m "ish" bajaring, git status toza ekanini tekshiring.git stash pop bilan o'zgarishni qaytaring.
git stash
git stash drop
git stash
git stash pop
Ilg'or buyruqlar kuchli, lekin ehtiyotkorlik talab qiladi.
a1b2c3d commit ni main ga ko'chiring.reset --hard dan keyin commit ni tiklang.Ishni chetga qo'yib, pop bilan qaytarish.
Tarixni tartiblash va commit ko'chirish.
Xatodan keyin tiklash.
Uyga vazifa: stash, rebase, cherry-pick va reflog.
Release yaratish
6-hafta · 17-dars