Git .gitattributes fayli

Git .gitattributes


ULASHISH

.gitattributes nima?

.gitattributes fayli — Git’ga repozitoriyingizdagi muayyan fayllar bilan qanday ishlash kerakligini bildiruvchi maxsus fayl.

U qator oxiri belgilari, fayl turlari, merge xatti-harakati, maxsus diff vositalari va boshqa narsalarni boshqaradi.

Jamoangizdagi hamma bir xil sozlamalarga ega bo‘ladi, chunki bu fayl loyihangiz bilan birga versiyalanadi.

Git LFS haqida batafsil ma’lumot uchun maxsus sahifaga qarang.


.gitattributes faylidan qachon foydalanish kerak

  • Turli operatsion tizimlarda bir xil qator oxiri belgilarini majburiy qilish uchun
  • Fayllarni binar deb belgilash uchun (Git ularni merge qilishga yoki o‘zgartirishga urinmasligi uchun)
  • Katta fayllar uchun Git LFS’ni yoqish uchun
  • Maxsus fayl turlari uchun o‘z diff yoki merge vositalarini sozlash uchun
  • Fayllar arxivlarga qanday eksport qilinishini boshqarish uchun

.gitattributes faylini yaratish yoki tahrirlash

  1. Repozitoriyingizning ildiz papkasiga (yoki lokal qoidalar uchun ichki papkaga) o‘ting.
  2. .gitattributes faylini yarating yoki tahrirlang.
  3. Git fayllarga qanday munosabatda bo‘lishi kerakligi haqidagi qoidalarni har bir qatorga bittadan qo‘shing.

Misol: Barcha matnli fayllar uchun Unix qator oxirini majburiy qilish

*.txt text eol=lf


Qator oxiri belgilarini boshqarish

Turli OT’larda merge ziddiyatlari va buzilgan fayllarning oldini olish uchun qator oxiri belgilarini standartlashtiring.

Misol: Shell skriptlari uchun LF’ni belgilash

*.sh text eol=lf

Fayllarni binar deb belgilash

Git’ga qaysi fayllar binar (matnli emas) ekanini ayting.

Bu Git’ning ushbu fayllarni merge qilishga yoki ulardagi qator oxiri belgilarini o‘zgartirishga urinishining oldini oladi.

Misol: PNG fayllarni binar deb belgilash

*.png binary

Fayl turlari uchun LFS’ni yoqish

Rasmlar yoki ma’lumotlar to‘plamlari kabi katta fayllar uchun Git LFS’dan foydalaning.

Bu Git’ga ushbu fayllar uchun LFS’dan foydalanishni bildiradi:

Misol: PSD fayllarni LFS bilan kuzatish

*.psd filter=lfs diff=lfs merge=lfs -text

Maxsus diff sozlamalari

Git’ga muayyan fayl turlarini (masalan, Markdown yoki Jupyter notebook’larni) solishtirish uchun maxsus vositadan foydalanishni ayting:

Misol: Markdown uchun maxsus diff

*.md diff=markdown

Atributlarni tekshirish

Fayl uchun qaysi atributlar o‘rnatilganini ko‘ring:

Misol: Fayl atributlarini tekshirish

git check-attr --all README.md

Ilg‘or foydalanish

  • Merge strategiyalari: Murakkab fayllar (masalan, lock fayllar yoki notebook’lar) uchun maxsus merge drayverlarini sozlang.
  • Export-ignore: git archive yaratadigan tar/zip arxivlardan fayllarni chiqarib tashlang:

Misol: Eksport qilishda fayllarni e’tiborsiz qoldirish

docs/* export-ignore

Maslahatlar va eng yaxshi amaliyotlar

  • Shablonlar .gitignore kabi ishlaydi (wildcard belgilar va hokazo).
  • Faqat muayyan ichki papkalarga taalluqli qoidalar uchun .gitattributes faylini o‘sha papkalarga joylashtiring.
  • .gitattributes faylini o‘zgartirish allaqachon commit qilingan fayllarni orqaga qarab tuzatmaydi — ularni yangilash uchun fayllarni qayta qo‘shing.
  • Atributlar bilan bog‘liq muammolarni aniqlash uchun git check-attr buyrug‘idan foydalaning.

Eslatma: .gitattributes loyihangiz bilan birga versiyalanadi, shuning uchun jamoangizdagi hamma bir xil sozlamalarga ega bo‘ladi.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!