git rm va git mv — fayllarni o’chirish va ko’chirish/nomlarini o’zgartirish buyruqlari. Faylni oddiy o’chirsangiz yoki nomini o’zgartirsangiz, Git buni “o’zgarish” sifatida ko’radi; git rm va git mv esa bu amallarni Git bilan to’g’ridan-to’g’ri, tartibli bajaradi.
git rm va git mv —
rmfaylni ham diskdan, ham Git kuzatuvidan o’chiradi;mvfaylni ko’chiradi yoki nomini o’zgartiradi va o’zgarishni Git’ga darhol tayyorlaydi.
git rm — faylni o’chirish
git rm faylni ham diskdan, ham Git’dan o’chiradi va o’zgarishni staging’ga qo’yadi:
git rm eski.txt
git commit -m "Eski fayl o'chirildi"
rm 'eski.txt'
[main b2c3d4e] Eski fayl o'chirildi
1 file changed, 1 deletion(-)
git rm eski.txt faylni o’chirdi va bu o’zgarishni tayyorladi. Oddiy rm dan farqi: git rm bir yo’la Git kuzatuvidan ham oladi — qo’shimcha git add shart emas.
Faqat kuzatuvdan olish — cached
Faylni diskda qoldirib, faqat Git kuzatuvidan olish uchun --cached ishlatiladi. Bu .gitignore bilan birga foydali:
git rm --cached maxfiy.env
rm 'maxfiy.env'
--cached faylni faqat Git’dan oldi, disk’da esa qoldirdi. Bu tasodifan qo’shilgan maxfiy faylni repository’dan chiqarishda ishlatiladi.
git mv — ko’chirish va nom o’zgartirish
git mv faylni ko’chiradi yoki nomini o’zgartiradi va o’zgarishni tayyorlaydi:
git mv salom.txt hujjat.txt
git commit -m "Fayl nomi o'zgartirildi"
[main c3d4e5f] Fayl nomi o'zgartirildi
1 file changed, 0 insertions(+), 0 deletions(-)
rename salom.txt => hujjat.txt
git mv salom.txt hujjat.txt faylning nomini o’zgartirdi. Git buni “rename” (nom o’zgartirish) sifatida aniqladi — tarix saqlanadi.
rm va mv variantlari
Asosiy variantlarni jadvalda ko’ramiz:
| Buyruq | Vazifasi |
|---|---|
git rm fayl |
diskdan va Git’dan o’chiradi |
git rm --cached fayl |
faqat Git’dan oladi |
git mv eski yangi |
nom o’zgartirish/ko’chirish |
Xulosa
Bu bo’limda git rm bilan fayl o’chirish, --cached bilan faqat kuzatuvdan olish va git mv bilan nom o’zgartirishni ko’rib chiqdik. Bu buyruqlar fayl amallarini Git bilan tartibli bajaradi. Keyingi darsda git restore bilan o’zgarishlarni bekor qilishga o’tamiz.