Mavzu
Dars xulosasi
git stashtugallanmagan ishni vaqtincha saqlaydi,popqaytaradi.- Merge tarixni saqlaydi, rebase uni to'g'ri chiziqqa o'tkazadi.
- Konfliktda
rebase --continueyoki--abortishlatiladi. rebase -icommit larni birlashtiradi va xabarini o'zgartiradi.cherry-pick <sha>bitta commit ni ko'chiradi.reflogyo'qolgan commit ni topishga yordam beradi.
Qo'shimcha ma'lumot
stash -u
Kuzatilmayotgan yangi fayllarni ham saqlaydi.
--abort
Rebase ni to'xtatib, avvalgi holatga qaytaradi.
force-with-lease
Boshqa birov push qilgan bo'lsa, ustiga yozishdan saqlaydi.
HEAD~3
HEAD dan 3 ta commit orqaga.
Atamalar lug'ati
| Atama | Ma'nosi |
|---|---|
| stash | Vaqtincha saqlash |
| rebase | Commit larni ko'chirish |
| cherry-pick | Bitta commit ko'chirish |
| reflog | HEAD jurnali |
| HEAD | Joriy commit |
| SHA | Commit identifikatori |
| squash | Commit larni birlashtirish |
| konflikt | Ziddiyatli o'zgarish |
Bilasizmi?
git stashbir nechta bo'lishi mumkin:stash@{0},stash@{1}.git reflogfaqat sizning lokal repozitoriyingizda saqlanadi, GitHub ga ketmaydi.- Interaktiv rebase da commit tartibini o'zgartirish mumkin.
Topshiriqlar
1. Stash qilish oson
Faylni o'zgartirib, stash ga qo'ying va ro'yxatni ko'ring.
Kutiladigan natija: git stash push -m, git stash list.
2. Stash qaytarish oson
Stash ni qaytaring. pop va apply farqi?
Kutiladigan natija: pop o'chiradi, apply saqlaydi.
3. Atamalar oson
rebase, cherry-pick va reflog ni 1 jumlada ta'riflang.
Kutiladigan natija: 3 ta to'g'ri ta'rif.
4. SHA topish oson
Commit SHA ni qaysi buyruq ko'rsatadi?
Kutiladigan natija: git log --oneline.
5. Rebase qilish o'rta
feature ni main ustiga rebase qiling.
Kutiladigan natija: git rebase main.
6. Konflikt o'rta
Rebase da konflikt bo'lsa, qadamlarni yozing.
Kutiladigan natija: Tuzatish, git add, --continue.
7. Merge yoki rebase o'rta
3 kishi ishlaydigan branch uchun qaysi biri? Nega?
Kutiladigan natija: Merge: umumiy tarixni buzmaydi.
8. Cherry-pick o'rta
Boshqa branch dagi bitta commit ni ko'chiring.
Kutiladigan natija: git cherry-pick <sha>.
9. Squash qiyin
Oxirgi 4 commit ni bittaga birlashtiring.
Kutiladigan natija: git rebase -i HEAD~4, squash.
10. Tiklash qiyin
reset --hard HEAD~2 dan keyin commit larni qaytaring.
Kutiladigan natija: git reflog va switch -c.
11. Xavfsizlik qiyin
--force-with-lease nega --force dan yaxshi?
Kutiladigan natija: Boshqa birovning ishini ustiga yozmaydi.
12. Skript bonus
Stash, rebase va reflog dan 1 sahifalik qo'llanma yozing.
Kutiladigan natija: To'g'ri buyruqlar va ogohlantirish.
O'zingizni tekshiring
git stashnima qiladi?popvaapplyfarqi?- Merge va rebase farqi?
cherry-picknima?reflognima uchun?- Rebase ning oltin qoidasi?
Uyga vazifa
stash, rebase, cherry-pick va reflog ni test repozitoriyda sinang (30 daqiqa). To'liq shart: uyga-vazifa.md.
