Git radi na zanimljiv način za nošenje a povijest promjena datoteka. Iako se može činiti da traži promjene u svakom od njih, ono što zapravo čini jest nositi datoteku pod nazivom indeks, u koji su umetnute promjene koje se događaju. Na ovaj način, samo čitanjem datoteke indeks možete znati koje su datoteke i koji se sadržaj u njima promijenio.
Kad jednom shvatimo taj koncept kako Git Potrebne su registrirane promjene, tada možemo početi u potpunosti iskorištavati alat, budući da ćemo u ovom trenutku moći početi koristiti različite naredbe za preuzimanje promjena iz našeg spremišta i rukovanje njima iz logičkog perspektiva.
Klasificiranje datoteka unutar Gita
Prije nego nastavimo s dubljim točkama, moramo vidjeti kako Git klasificira vaše datoteke. To ne znači klasifikaciju prema vrsti datoteke zbog njezinog proširenja, već prije zbog statusa u odnosu na naše spremište i indeks.
U osnovi imamo tri vrste datoteka GIT, svaki ima svoj trenutak u spremištu, da vidimo što su to:
Prati seOva vrsta datoteke već je dodana u naše spremište i uzima je u obzir indeks i datoteka uzima ovo stanje nakon što smo je dodali sljedećom naredbom.
git dodaj naziv datotekeZanemarenoU ovoj klasifikaciji datoteka zanemarila se ne uzima u obzir od strane Git Prilikom uvođenja promjena datoteke koje su podvrgnute mnogim promjenama ili koje nisu vitalne za stabilnost projekta obično se klasificiraju na ovaj način, na primjer slikovne datoteke zbog svoje težine ili možda skripte Baza podataka da ne moramo uvijek mijenjati. Da biste zanemarili datoteku, njezin naziv mora biti uključen u datoteku pod nazivom .gitignore i dodajte ga u naše spremište.
Bez pratnjeOva vrsta datoteke još ne pripada našem spremištu jer je još nismo dodali, a nova je u datotečnom sustavu, obično se događa kada stvorimo novu datoteku u već inicijaliziranom spremištu ili kada inicijaliziramo spremište u mapi koja ima postojeće datoteke.
Praktičan primjer klasifikacije datoteka
Pogledajmo sada mali praktični primjer kako možemo otkriti vrste datoteka u spremištu Git, za to moramo slijediti sljedeće korake:
1- Na našem ćemo računalu stvoriti novu mapu pod nazivom git datoteke.
2- Nakon što se mapa stvori, ući ćemo u nju s naše konzole i tamo ćemo izvršiti naredbu git init a onda činimo git status Da bismo vidjeli status našeg spremišta, pogledajmo kako izgleda primjena prethodnih naredbi:
3- Kad završimo prethodni korak imat ćemo spremište Git je inicijaliziran i spremni za rad, tada možemo stvoriti novu datoteku u toj mapi i to ćemo učiniti ponovno git status da bismo vidjeli promjenu, moramo imati naš novi dosje pod klasifikacijom nepraćen.
4- Ponovit ćemo prethodni korak i stvoriti novu datoteku, ako vidimo rezultat ponovnog ponavljanja git status prebrojat ćemo obje datoteke, da vidimo:
5- Sada ćemo stvoriti novu datoteku pod nazivom .gitignore, imajte na umu točku prije datoteke, a unutra ćemo postaviti naziv jedne od naših prethodnih datoteka, to radimo opet git status i vidjet ćemo da sada dobivamo samo datoteku koja se u njoj ne nalazi .gitignore i datoteku .gitignore upravo smo stvorili:
6- Onda ćemo napraviti a git add. kako bismo dodali sve naše datoteke i na kraju ćemo izvršiti a git commit -m "početno urezivanje" dodavanjem naših datoteka u spremište, ako napravimo promjenu u datoteci koju ne stavimo u .gitignore i spremimo ga, ako ponovno pokrenemo git status vidjet ćemo datoteku u statusu ili klasifikaciji praćen.
Naredba git add
U prethodnom primjeru mogli smo vidjeti upotrebu git dodaj i možda možemo misliti da je to još jedna naredba našeg alata, ali to je vrlo važno, to je ono što nam dopušta dodajte datoteku u naše spremište ako još ne postoji u njemu, a omogućuje nam i dodavanje promjena koje su se dogodile postojećoj datoteci u našem spremištu.
Kako koristiti?Ima nekoliko načina korištenja, a najčešći je to učiniti git dodaj naziv datoteke, gdje mu kažemo koju datoteku treba dodati ili ako to ne možemo učiniti git dodaj. gdje točka predstavlja sve datoteke koje su izmijenjene ili se ne nalaze u spremištu.
Vrlo je važno da nakon bilo kakvih promjena u spremištu dodamo datoteke s git dodaj, jer u protivnom nećemo moći spremiti naše promjene, osim stvaranja različitih verzija datoteke, što može dovesti do mogućeg sukoba u budućnosti.
Pomoću git add -a
Unutar naše mape git datoteke koju smo stvorili u prethodnom primjeru vodiča, dodat ćemo novu datoteku koju ćemo postaviti newFile3 a zatim u postojeću datoteku koja se u njoj ne nalazi .gitignore napravimo promjenu.
Ono što želimo postići ovim je testirati kako koristiti našu naredbu git add, da vidimo kako ovo izgleda na našoj komandnoj konzoli:
Slijedom prethodnih uputa trebali smo dobiti nešto poput gore navedenog na ekranu, gdje nam se prikazuje a izmijenjena datoteka i a potpuno nova datoteka u spremištu.
Sada ćemo dodati novu datoteku u spremište, ali to nećemo učiniti s postojećom datotekom ili onom koju smo prethodno izmijenili. Za ovo samo moramo učiniti git dodaj našeime datoteke. Onda ćemo učiniti git status. Da vidimo:
Kao što vidimo, naše spremište već uzima u obzir datoteku koju smo dodali git dodaj, ovo je način na koji u osnovi možemo raditi na promjenama naših datoteka.
Izbrišite datoteke iz spremišta
Sljedeća radnja koju moramo znati izvesti je uklanjanje datoteka iz našeg spremišta, jer je vrlo uobičajeno da smo nešto stvorili greškom ili jednostavno unutar nje dovodimo stvari u red.
Dvije su stvari koje treba uzeti u obzir, možemo ukloniti datoteku iz indeksa našeg spremišta, ali zadržite spomenutu datoteku u sustavu naše mape, pa ako učinimo a git status Ponovno ćemo vidjeti dostupnu. Ili ako ne možemo izbrisati datoteku iz naše mape i iz indeks iz našeg spremišta, za to možemo koristiti naredbu git rm.
Naredba git rm - predmemorirana
Pomoću naredbe rm s dodatnom opcijom predmemorirano, ono što mi radimo je brisanje predmetne datoteke iz indeksMeđutim, zadržat ćemo je na svom računalu, ova naredba se često koristi kada još ne želimo dodati ovu datoteku u naše spremište, ali moramo spremiti ostale promjene.
Da bismo ga koristili, jednostavno izvršimo naredbu kada smo već dodali sa git add neka datoteka, da vidimo kako ovo izgleda na našoj naredbenoj konzoli:
Napominjemo da je datoteka newFile3 koje smo dodali u naše spremište sada ne postoji i ima klasifikaciju nepraćen.
Naredba Git rm
Pogledajmo sada kako koristiti naredbu git rm, ova je naredba mnogo moćnija jer izravno uklanja datoteku iz indeks i od datoteka, zato moramo biti oprezni kada se odlučimo koristiti u svom spremištu, vrlo je vjerojatno da jednom primijenjenu nećemo moći vratiti promjenu.
Pogledajmo u sljedećem primjeru kako to funkcionira kada ga primijenimo na datoteku, u ovom slučaju ćemo dodati newFile3 s git dodaj a onda ćemo se na ovo prijaviti git rm:
To vidimo kada to radimo izravno git pokazuje nam pogrešku i traži od nas da izvršimo prisilno brisanje prilikom dodavanja parametra -F uputama to je zbog važnosti promjene, konačno ćemo napraviti a git status i primijetit ćemo da je spomenuta datoteka u cijelosti nestala iz našeg spremišta.
Više od .gitignore
Mogli smo vidjeti da u svoju datoteku možemo dodati određenu datoteku .gitignoreMeđutim, kada radimo u okruženju u kojem obrađujemo stotine ili možda tisuće datoteka, to nije baš praktično, zato možemo koristiti uzorke.
Uzorak će nam omogućiti da ukažemo na Git da datoteku koja zadovoljava niz znakova ili izraza treba zanemariti, s tim možemo naznačiti određena proširenja, bilo u cijelom projektu ili unutar posebne mape. Pogledajmo primjer ovoga.
* .jpg.webp ignorirat će sve .jpg.webp datoteke našeg projekta, ali ako želimo zadržati trag jedne, moramo samo dodati:
! naziv datoteke.jpg.webpTo je tako jednostavno, imamo jaku i složenu strukturu koja nam omogućuje da organiziramo naše spremište.
Ovim smo završili ovaj vodič, na opsežan način vidjeli smo način na koji Git nosi ili upravlja promjenama u našim datotekama, važno je savladati ovo pitanje, jer ćemo tako moći učinkovitije raditi u timskim okruženjima gdje se njime rukuje Git kao kontroler verzija.