Не треба сваки фајл у вашем пројекту да буде контролисан верзијама. Сазнајте које типове датотека треба да искључите из изворног репо-а.

Контрола верзија је витална алатка за праћење промена у вашој бази кода, али не желите увек да пратите сваку датотеку.

Да бисте избегли неред и смањили ризик од дистрибуције осетљивих информација, можете користити датотеку под називом .гитигноре. Ова датотека одређује које датотеке и директоријуме Гит не треба да индексира.

Одређивање датотека које треба укључити у .гитигноре може бити изазов, посебно ако сте нови у развоју. Сазнајте које датотеке треба да додате у свој .гитигноре за лакши Гит радни ток.

Креирање .гитигноре датотеке

Да би ваша .гитигноре датотека имала било какав ефекат, морате имати Гит иницијализиран у вашем пројекту.

Можете иницијализовати Гит тако што ћете покренути наредбу испод у свом терминалу:

гит инит

Ова команда креира ново Гит спремиште за ваш пројекат, у скривеном поддиректоријуму „.гит“ који садржи све датотеке и директоријуме који су му потребни за контролу верзија вашег пројекта.

Да бисте покренули ову наредбу, морате имати Гит је инсталиран у вашем систему.

Затим креирајте своју .гитигноре датотеку тако што ћете покренути наредбу испод:

додирнути.гитигноре

Извођење горње команде креира нову датотеку, „.гитигноре“ у вашем тренутном директоријуму. Можете да искључите датотеку из Гит-а додавањем имена датотеке или путање датотеке (ако се датотека налази у другом директоријуму од .гитигноре фајл).

Гит не мора да прати сваку датотеку у вашем пројекту, а праћење неких датотека може довести до непредвиђених проблема. Ово су неке од датотека које треба да додате у свој .гитигноре.

1. Цонфигуратион Филес

Конфигурационе датотеке чувају подешавања и друге параметре које ваше апликације користе да дефинишу и прилагоде своје понашање. Ове датотеке често чувају низове везе са базом података, АПИ кључеве и друге осетљиве информације које не би требало да излажете у Гит спремишту.

Ако укључите конфигурационе датотеке у своје спремиште, свако ко може да му приступи може да види њихов садржај. То може укључивати осетљиве информације, што може довести до нарушавања безбедности и других проблема.

Да бисте искључили конфигурационе датотеке из вашег Гит спремишта, додајте одређена имена датотека или имена фасцикли у своје .гитигноре фајл.

На пример, можете додати линију испод у свој .гитигноре фајл за игнорисање а .енв фајл.

.енв

2. Изградите артефакте

Артефакти изградње су компајлиране или генерисане датотеке произведене када правите свој пројекат. Ове датотеке обично живе у а "циља" или "градити" именик.

Артефакти грађења могу укључивати компајлиране Јава класе, ЈАР датотеке, ВАР датотеке, бинарне датотеке, дистрибуцијске пакете, извештаје, датотеке евиденције и друге генерисане током процеса изградње.

Генерално је добра пракса искључити артефакте изградње из вашег Гит спремишта јер могу бити веома велики. Они такође могу бити мање преносиви од ваших изворних датотека, релевантни само за одређено окружење. Њихово укључивање у ваше спремиште може повећати величину вашег спремишта и учинити га споријим за клонирање и рад са њим.

Да бисте искључили артефакте изградње из вашег Гит спремишта, додајте "циљ/" или "изградити/" именик у ваш .гитигноре фајл.

На пример:

# .гитигноре

циљ/
изградити/

3. Датотеке интегрисаног развојног окружења

Датотеке интегрисаног развојног окружења (ИДЕ) су конфигурационе датотеке, метаподаци пројекта и друге датотеке које генерише ваш ИДЕ када креирате или отворите пројекат. Ове датотеке су специфичне за сваки ИДЕ. Ваш ИДЕ користи ове датотеке за конфигурисање поставки пројекта.

Ове датотеке су непотребне за прављење или покретање ваше апликације и често могу изазвати проблеме ако су посвећене дељеном Гит спремишту. На пример, различити људи у вашем тиму могу да користе различите ИДЕ или верзије, а урезивање датотека специфичних за ИДЕ може да изазове сукобе спајања и отежава сарадњу на пројекту.

Пошто су ове датотеке специфичне за ИДЕ, датотеке које треба укључити у свој .гитигноре фајл ће зависити од вашег ИДЕ-а. Овде су ГитХубове .гитигноре препоруке за неке популарне ИДЕ. Можете потражити свој ИДЕ по избору и додати наведене датотеке у свој .гитигноре фајл.

4. Датотеке зависности и пакета

Датотеке зависности и пакета су датотеке које садрже информације о зависностима и пакетима које користи ваша апликација. Разни алати за изградњу, као што су менаџер пакета чворова (нпм), генеришите ове датотеке.

На пример, ако користите нпм за управљање зависностима за ЈаваСцрипт пројекат, креираће се „ноде_модулес" фолдер у основном директоријуму вашег пројекта. Директоријум садржи све инсталиране зависности за ваш пројекат.

Овај директоријум може постати веома велики, посебно ако ваш пројекат има много зависности или неке зависности имају велике величине датотека. Искључивањем „ноде_модулес" из вашег Гит спремишта, можете га одржавати чистим и смањити његову величину.

Да бисте избегли додавање "ноде_модулес" директоријум у ваше Гит спремиште, додајте његово име у вашу .гитигноре датотеку:

#.гитигноре

ноде_модулес/

5. Датотеке оперативног система

Ваш оперативни систем и други системски алати могу генерисати датотеке нормалним коришћењем. То може укључивати датотеке евиденције, привремене датотеке и датотеке за конфигурацију система. Пример је Тхумбс.дб датотеку на Виндовс-у и њеном мацОС еквиваленту, .ДС_Сторе фајл.

Генерално је добра пракса искључити датотеке оперативног система из вашег Гит репозиторија, као што су специфичне су за ваше локално окружење и могу се разликовати између различитих рачунара и оперативних система система.

ГитХуб је препоручио .гитигноре смернице за Виндовс, мацОС, и Линук.

Важност контроле верзија

Коришћење контроле верзија може значајно побољшати ваш ток посла и смањити грешке и конфликте који могу настати када радите на бази кода. Уз контролу верзија, можете лако пратити промене кода, прегледати их и неприметно сарађивати са члановима тима.

Међутим, увек треба да искључите одређене датотеке, као што су конфигурационе датотеке, ИДЕ датотеке и ОС датотеке. Ово ће смањити величину вашег спремишта и обезбедити да не пропуштате осетљиве информације.