Sobes.tech
Junior

Stage kontekstida 'git add' komandasi nima qiladi?

sobes.tech AI

AIdan javob

'git add' fayllardagi o'zgarishlarni commit uchun tayyorlash uchun, ularni ishchi katalogdan (working directory) staging area ga (staging area) ko'chiradi. Bu area turli fayllardagi o'zgarishlarni to'plash imkonini beradi, keyin esa bitta commit bilan saqlanadi.

Foydalanish misollari:

  • Aniq bir faylni qo'shish:
    git add <fayl_nomi>
    
  • Barcha o'zgartirilgan fayllarni qo'shish (o'chirilganlar ham):
    git add -A
    
  • Barcha o'zgartirilgan fayllarni qo'shish (o'chirilganlar tashqari):
    git add .
    
    (yoki git add --all)

'git add' ni bajarilmasdan, ishchi katalogdagi o'zgarishlar keyingi 'git commit' ga kiritilmaydi.

Buni quyidagicha tasavvur qilish mumkin:

  1. Working Directory: Sizning hozirgi, hali staged bo'lmagan o'zgarishlaringiz.
  2. Staging Area: Siz tayyorlagan o'zgarishlar keyingi commit uchun.
  3. Mahalliy repository: Commitlar tarixi.
graph LR
    WD -- git add --> SA
    SA -- git commit --> LR
    WD -- git reset --hard --> WD
    SA -- git restore --staged --> WD
    LR -- git checkout / git reset --> WD
  • WD: Ishchi katalog
  • SA: Staging Area
  • LR: Mahalliy repository