Վերադառնալ
Git-ը ֆայլերը կարող է անտեսել երեք տեղում, ոչ միայն .gitignore-ում
SiTech AI Team2 წთ. საკითხავი

Git-ը ֆայլերը կարող է անտեսել երեք տեղում, ոչ միայն .gitignore-ում

Բլոգի գրառումը բացատրում է Git-ում ֆայլերի անտեսման երեք մակարդակները՝ ռեպոզիտորիայում պահվող .gitignore, տվյալ ռեպոյի .git/info/exclude և ամբողջ մեքենայի համար գործող գլոբալ ֆայլը։

Git-ի հետ աշխատողների մեծ մասը ֆայլերը տարբերակների կառավարումից դուրս պահելու միայն մեկ եղանակ գիտի՝ դրանք ավելացնել .gitignore-ում։ nelson.cloud բլոգի գրառումը հիշեցնում է, որ իրականում Git-ը աջակցում է անտեսման երեք մակարդակ, և դրանցից յուրաքանչյուրը լուծում է այլ խնդիր։

Նախագծի մակարդակ՝ .gitignore

Ծանոթ տարբերակը ռեպոզիտորիայի արմատում գտնվող .gitignore ֆայլն է։ Այն Git-ում պահվում է կոդի հետ միասին, ուստի բոլոր ներդրողները ստանում են նույն կանոնները։ Այնտեղ նշված ֆայլերը հաշվի չեն առնվում Git-ի հրամանների կատարման ժամանակ. հենց դրա համար է սա ճիշտ տեղը build-ի արդյունքների, կախվածությունների և խմբագրիչի ժամանակավոր ֆայլերի համար, որոնք ամբողջ թիմը ցանկանում է անտեսել։

Ռեպոզիտորիայի մակարդակ՝ .git/info/exclude

Երկրորդ ֆայլը .git/info/exclude-ն է։ Այն գտնվում է յուրաքանչյուր ռեպոզիտորիայի .git պանակում, սակայն դրա փոփոխությունները երբեք չեն գրանցվում Git-ում։ Նոր ռեպոզիտորիայում այն սովորաբար պարունակում է ընդամենը մի քանի մեկնաբանության տող։ Ֆայլը նախատեսված է մեկ ռեպոզիտորիայի անձնական բացառությունների համար, օրինակ՝ notes.txt, որը օգտակար է ձեզ, բայց տեղ չունի նախագծում։ Նման գրառումներն այստեղ ավելացնելը .gitignore-ը մաքուր է պահում և չի հրապարակում նախասիրություններ, որոնք ոչ ոք ուրիշ չի կիսում։

Մեքենայի մակարդակ՝ ~/.config/git/ignore

Երրորդ մակարդակը գլոբալ է։ ~/.config/git/ignore ֆայլը գտնվում է home պանակում և վերաբերում է համակարգչի բոլոր ռեպոզիտորիաներին. այն ոչ մի նախագծի չի պատկանում։ Դասական օգտագործումը օպերացիոն համակարգի աղմուկն է. macOS-ում դա .DS_Store-ն է։ Տեղադրությունը կարգավորելի է. git config --global core.excludesFile ~/.gitignore_global հրամանը Git-ին ուղղում է այլ ֆայլի, իսկ git config --global --unset core.excludesFile-ը վերականգնում է լռելյայն կարգավորումը։

Որ ֆայլն է անտեսում ուղին

Երբ ֆայլը անսպասելիորեն անտեսանելի է Git-ի համար, git check-ignore -v հրամանը ցույց է տալիս համապատասխանած կանոնը։ .DS_Store-ի դեպքում արդյունքը կարող է լինել .gitignore:1:.DS_Store, .git/info/exclude:7:.DS_Store կամ ~/.config/git/ignore:2:.DS_Store՝ կախված նրանից, թե որ մակարդակն է պատասխանատու։ Եթե ֆայլը ոչինչ չի անտեսում, հրամանը ոչինչ չի տպում։

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։