Git работи по интересен начин да носи a история на промените в файловете. Въпреки че може да изглежда, че търси промените във всяка от тях, това, което наистина прави, е да носи файл, наречен индекс, в който се вмъкват настъпващите промени. По този начин, просто като прочетете файла индекс можете да знаете кои файлове и какво съдържание в тях са променени.
След като разберем тази концепция за това как Git Необходими са регистрираните промени, тогава можем да започнем да се възползваме напълно от инструмента, тъй като в този момент ще можем да започнем да използваме различните команди, за да вземем промените от нашето хранилище и да ги обработим от логически перспектива.
Класифициране на файлове в Git
Преди да продължим с по -дълбоки моменти, трябва да видим как Git класифицира вашите файлове. Това не означава класификация по тип файл поради неговото разширение, а по -скоро от неговия статус във връзка с нашето хранилище и неговия индекс.
По принцип имаме три типа файлове GIT, всеки от тях има свой собствен момент в хранилището, нека видим какво представляват:
ПроследеноТози тип файл вече е добавен към нашето хранилище и е взет под внимание от индекс и файлът приема това състояние, след като сме го добавили със следната команда.
git добавете име на файлИгнориранВ тази класификация файл игнорирани не се взема предвид от Git Когато правите промени, файловете, които претърпяват много промени или които не са жизненоважни за стабилността на проекта, обикновено се класифицират по този начин, например файлове с изображения поради тяхното тегло или може би скриптове на База данни че не е нужно винаги да се променяме. За да игнорирате файл, името му трябва да бъде включено във файл, наречен .gitignore и го добавете към нашето хранилище.
Без проследяванеТози тип файл все още не принадлежи към нашето хранилище, тъй като все още не сме го добавили и той е нов във файловата система, обикновено се случва, когато създаваме нов файл във вече инициализирано хранилище или когато инициализираме хранилище в папка който има съществуващи файлове.
Практически пример за класификация на файловете
Нека сега видим малък практически пример за това как можем да открием типове файлове в хранилище Git, за това трябва да изпълним следните стъпки:
1- Ще създадем нова папка на нашия компютър, наречена git файлове.
2- След като папката бъде създадена, ще я въведем от нашата конзола и там ще изпълним командата git init и тогава го правим git статус За да видите състоянието на нашето хранилище, нека видим как изглежда приложението на предишните команди:
3- Когато завършим предишната стъпка, ще имаме хранилище Git инициализиран и готови за работа, тогава можем да създадем нов файл в тази папка и ще го направим отново git статус за да видим промяната, трябва да имаме нашия нов файл под класификацията непроследен.
4- Ще повторим предишната стъпка и ще създадем нов файл, ако видим резултата от повторението git статус ще преброим и двата файла, нека видим:
5- Сега ще създадем нов файл, наречен .gitignore, обърнете внимание на точката преди файла и вътре ще поставим името на един от предишните ни файлове, правим отново git статус и ще видим, че сега получаваме само файла, който не е в него .gitignore и файла .gitignore току -що създадохме:
6- Тогава ще направим а git добави. за да добавим всички наши файлове и накрая ще изпълним a git commit -m "първоначален коммит" с това добавяне на нашите файлове към хранилището, ако направим промяна във файла, който не поставяме в .gitignore и го запазваме, ако стартираме отново git статус ще видим файл в състояние или класификация проследени.
Командата git add
В предишния пример можехме да видим използването на git добави и може би можем да мислим, че това е още една команда на нашия инструмент, но това е много важно, това е тази, която ни позволява добавете файл към нашето хранилище ако все още не съществува в него и също така ни позволява да добавим промените, които са се случили към съществуващ файл в нашето хранилище.
Как да използвам?Той има няколко начина да се използва, най -често срещаният е да се направи git добавете име на файл, където му казваме какъв файл да добави или ако не можем да направим git добави. където точката представлява всички файлове, които са били променени или не са в хранилището.
Много е важно, след като направим каквито и да било промени в хранилището, да добавим файловете с git добави, тъй като в противен случай няма да можем да запазим промените си, в допълнение към създаването на различни версии на файла, което може да доведе до евентуален конфликт в бъдеще.
Използвайки git add
Вътре в нашата папка git файлове който сме създали в предишния пример на урока, ще добавим нов файл, който ще поставим newFile3 и след това в съществуващия файл, който не е в него .gitignore нека направим промяна.
Това, което искаме да постигнем с това, е да тестваме как да използваме нашата команда git добави, нека видим как изглежда това в нашата командна конзола:
Следвайки предишните инструкции, трябваше да имаме нещо подобно на горното на екрана, където ни се показва a модифициран файл и а чисто нов файл в хранилището.
Сега ще добавим новия файл към хранилището, но няма да го направим със съществуващия файл или този, който променихме по -рано. За това просто трябва да направим git добавете нашето име на файл. Тогава ще направим git статус. Да видим:
Както виждаме, нашето хранилище вече взема предвид файла, с който сме добавили git добави, това е начинът, по който можем основно да работим върху промените в нашите файлове.
Изтрийте файлове от хранилището
Следващото действие, което трябва да знаем как да извършим, е да елиминираме файловете от нашето хранилище, тъй като е много често ние сме създали нещо по погрешка или просто поставяме ред в него.
Има две неща, които трябва да имате предвид, можем да премахнем файла от индекса от нашето хранилище, но запазете споменатия файл в системата на нашата папка, така че ако направим a git статус Ще го видим отново наличен. Или ако не можем да изтрием файла както от нашата папка, така и от индекс от нашето хранилище, за това можем да използваме командата git rm.
Командата git rm - кеширана
С помощта на командата rm с добавената опция на кеширано, това, което правим, е да изтрием въпросния файл от индексВъпреки това, ние ще го запазим на нашия компютър, тази команда се използва много, когато все още не искаме да добавим този файл към нашето хранилище, но трябва да запазим другите промени.
За да го използваме, просто изпълняваме командата, когато вече сме добавили с git добави някакъв файл, нека видим как изглежда това в нашата командна конзола:
Отбелязваме, че файлът newFile3 което добавихме към нашето хранилище сега, го няма и има класификацията непроследен.
Командата Git rm
Сега нека видим как да използваме командата git rm, тази команда е много по -мощна, тъй като директно премахва файла от индекс и на файл, затова трябва да бъдем внимателни, когато решим да го използваме в нашето хранилище, много е вероятно, че след като приложим, няма да можем да възстановим промяната.
Нека да видим в следния пример как работи, когато го приложим към файл, в този случай ще добавим newFile3 с git добави и тогава ще приложим това git rm:
Виждаме това, когато го правим директно git ни показва грешка и ни моли да направим принудително изтриване при добавяне на параметъра -F на инструкцията това се дължи на важността на промяната, накрая ще направим a git статус и ще забележим, че споменатият файл изчезна изцяло от нашето хранилище.
Още от .gitignore
Можехме да видим, че можем да добавим конкретен файл към нашия файл .gitignoreКогато обаче работим в среда, в която обработваме стотици или може би хиляди файлове, това не е много практично, затова можем да използваме шаблони.
Моделът ще ни позволи да посочим Git че файл, който отговаря на последователността от знаци или израз, трябва да бъде игнориран, с това можем да посочим конкретни разширения, или в целия проект, или в специална папка. Нека разгледаме пример за това.
* .jpg.webp той ще игнорира всички .jpg.webp файлове на нашия проект, но ако искаме да запазим следата на един по -специално, просто трябва да добавим:
! filename.jpg.webpТолкова е просто, имаме силна и сложна структура, която ни позволява да поддържаме нашето хранилище организирано.
С това завършваме този урок, видяхме по обширен начин начина, по който Git носи или управлява промените в нашите файлове, важно е да овладеем този въпрос, тъй като с това ще можем да работим по -ефективно в екипни среди, където се обработва Git като контролер на версия.