Git .gitattributes fayli
Git .gitattributes
.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
- Repozitoriyingizning ildiz papkasiga (yoki lokal qoidalar uchun ichki papkaga) o‘ting.
.gitattributesfaylini yarating yoki tahrirlang.- 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 archiveyaratadigan tar/zip arxivlardan fayllarni chiqarib tashlang:
Misol: Eksport qilishda fayllarni e’tiborsiz qoldirish
docs/* export-ignore
Maslahatlar va eng yaxshi amaliyotlar
- Shablonlar
.gitignorekabi ishlaydi (wildcard belgilar va hokazo). - Faqat muayyan ichki papkalarga taalluqli qoidalar uchun
.gitattributesfaylini o‘sha papkalarga joylashtiring. .gitattributesfaylini 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-attrbuyrug‘idan foydalaning.
Eslatma: .gitattributes loyihangiz bilan birga versiyalanadi, shuning uchun jamoangizdagi hamma bir xil sozlamalarga ega bo‘ladi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
