Darsliklar GIT Diff

GIT GIT Diff

git diff — fayllardagi o’zgarishlarni aniq ko’rsatadigan buyruq. “Men nimani o’zgartirdim?” degan savolga u qator-baqator javob beradi: nima qo’shilgan, nima o’chirilgan. Commit qilishdan oldin o’zgarishlarni tekshirish — professional dasturchining muhim odati.

git difffayllardagi o’zgarishlarni satr darajasida ko’rsatadigan buyruq. U qaysi qatorlar qo’shilgan (+) va o’chirilgan (-) ekanini aniqlaydi.

Tayyorlanmagan o’zgarishlar

git diff (parametrsiz) hali add qilinmagan o’zgarishlarni ko’rsatadi:

git diff
diff --git a/salom.txt b/salom.txt
 Salom, UzbekDevs!
-Eski qator
+Yangi qator

- bilan boshlangan qator — o’chirilgan, + bilan — qo’shilgan. Bu working directory (hali tayyorlanmagan) o’zgarishlarni ko’rsatadi.

Tayyorlangan o’zgarishlar

add qilingandan keyin git diff bo’sh chiqadi — chunki o’zgarish staging’ga o’tdi. Tayyorlangan o’zgarishlarni ko’rish uchun --staged ishlatiladi:

git add salom.txt
git diff --staged
diff --git a/salom.txt b/salom.txt
-Eski qator
+Yangi qator

git diff --staged (yoki --cached) — add qilingan, ammo hali commit qilinmagan o’zgarishlarni ko’rsatadi. Bu commit’dan oldin oxirgi tekshiruv uchun ideal.

diff variantlari

git diff ning turli shakllarini jadvalda ko’ramiz:

Buyruq Nimani ko’rsatadi
git diff tayyorlanmagan o’zgarishlar
git diff --staged tayyorlangan (add qilingan)
git diff HEAD barcha o’zgarishlar
git diff abc123 def456 ikki commit orasidagi farq

Ikki commit’ni solishtirish

git diff ikki commit orasidagi farqni ham ko’rsatadi:

git diff 9f8e7d6 a1b2c3d
diff --git a/salom.txt b/salom.txt
+Salomlashuv qo'shildi

Ikki commit hash’i berilganda, Git ular orasida nima o’zgarganini ko’rsatdi. Bu tarixdagi ikki nuqtani solishtirishda foydali.

Xulosa

Bu bo’limda git diff bilan tayyorlanmagan, --staged bilan tayyorlangan o’zgarishlarni va ikki commit’ni solishtirishni ko’rib chiqdik. git diff — o’zgarishlarni commit’dan oldin tekshirishning quroli. Keyingi darsda .gitignore bilan keraksiz fayllarni e’tiborsiz qoldirishga o’tamiz.