Bestandswijzigingen afhandelen met Git

Git werkt op een interessante manier om een geschiedenis van bestandswijzigingen. Hoewel het lijkt alsof het zoekt naar de wijzigingen in elk van deze, draagt ​​het in werkelijkheid een bestand met de naam inhoudsopgave, waarin de veranderingen die optreden worden ingevoegd. Op deze manier, gewoon door het bestand te lezen inhoudsopgave u kunt weten welke bestanden en welke inhoud erin is gewijzigd.

Zodra we dat concept van hoe begrijpen, Git Het neemt de geregistreerde wijzigingen, het is het moment waarop we volledig kunnen profiteren van de tool, aangezien het op dit moment is dat we de verschillende commando's kunnen gaan gebruiken om de wijzigingen uit onze repository te halen en ze vanuit een logische perspectief.

Bestanden classificeren binnen Git


Voordat we verder gaan met diepere punten, moeten we zien hoe Git classificeert uw bestanden. Dit betekent niet een classificatie op bestandstype vanwege zijn extensie, maar eerder op zijn status in relatie tot onze repository en zijn inhoudsopgave.

We hebben in principe drie soorten bestanden in: GIT, elk heeft zijn eigen moment in de repository, laten we eens kijken wat deze zijn:

bijgehoudenDit type bestand is al toegevoegd aan onze repository en wordt in aanmerking genomen door de inhoudsopgave en een bestand krijgt deze status zodra we het hebben toegevoegd met de volgende opdracht.

 git voeg bestandsnaam toe
GenegeerdIn deze classificatie een bestand genegeerd wordt niet in aanmerking genomen door Git Bij het aanbrengen van wijzigingen worden bestanden die veel wijzigingen ondergaan of die niet essentieel zijn voor de stabiliteit van het project normaal gesproken op deze manier geclassificeerd, bijvoorbeeld afbeeldingsbestanden vanwege hun gewicht of misschien scripts van Database dat we niet altijd hoeven te wijzigen. Om een ​​bestand te negeren, moet de naam ervan worden opgenomen in een bestand met de naam .gitignore en voeg het toe aan onze repository.

niet bijgehoudenDit type bestand behoort nog niet tot onze repository omdat we het nog niet hebben toegevoegd en het is nieuw in het bestandssysteem, het gebeurt meestal wanneer we een nieuw bestand maken in een reeds geïnitialiseerde repository of wanneer we een repository in een map initialiseren die bestaande bestanden heeft.

Praktisch voorbeeld van bestandsclassificatie


Laten we nu een klein praktisch voorbeeld bekijken van hoe we bestandstypen in een repository kunnen detecteren Git, hiervoor moeten we de volgende stappen volgen:

1- We gaan een nieuwe map op onze computer maken met de naam git-bestanden.

2- Zodra de map is gemaakt, gaan we deze invoeren vanaf onze console en daar gaan we de opdracht uitvoeren git init en dan doen we git-status Om de status van onze repository te zien, laten we eens kijken hoe de toepassing van de vorige commando's eruit ziet:

3- Wanneer we de vorige stap hebben voltooid, hebben we een repository Git geïnitialiseerd en klaar om te werken, dan kunnen we een nieuw bestand in die map maken en we zullen het opnieuw doen git-status om de verandering te zien, moeten we ons nieuwe bestand onder de classificatie hebben niet gevolgd.

4- We gaan de vorige stap herhalen en een nieuw bestand maken, als we het resultaat zien als we het opnieuw doen git-status we zullen beide bestanden tellen, laten we eens kijken:

5- Nu gaan we een nieuw bestand maken met de naam .gitignore, let op het punt voor het bestand en binnenin gaan we de naam van een van onze vorige bestanden plaatsen, we doen het opnieuw git-status en we zullen zien dat we nu alleen het bestand krijgen dat er niet in staat .gitignore en het bestand .gitignore we hebben zojuist gemaakt:

6- Dan doen we een git toevoegen. om al onze bestanden toe te voegen en tot slot zullen we a git commit -m "initiële commit" hiermee voegen we onze bestanden toe aan de repository, als we een wijziging in het bestand aanbrengen die we niet in de . plaatsen .gitignore en we redden het, als we weer rennen git-status we zullen een bestand zien in status of classificatie gevolgd.

Het git add commando


In het vorige voorbeeld zagen we het gebruik van de git add en misschien kunnen we denken dat het nog een commando van onze tool is, maar dit is erg belangrijk, het is degene die ons in staat stelt voeg een bestand toe aan onze repository als het er nog niet in bestaat en het stelt ons ook in staat om de wijzigingen toe te voegen die zijn gebeurd in een bestaand bestand in onze repository.

Hoe te gebruiken?Het heeft een paar manieren om te worden gebruikt, de meest voorkomende is om te doen! git voeg bestandsnaam toe, waar we hem vertellen welk bestand hij moet toevoegen of als we het niet kunnen doen git toevoegen. waarbij de punt alle bestanden vertegenwoordigt die zijn gewijzigd of niet in de repository staan.

Het is erg belangrijk dat we na het maken van wijzigingen in de repository de bestanden toevoegen met: git add, omdat we anders onze wijzigingen niet kunnen opslaan, naast het maken van verschillende versies van het bestand, wat in de toekomst tot een mogelijk conflict kan leiden.

De git add . gebruiken


In onze map git-bestanden dat we in het vorige voorbeeld van de tutorial hebben gemaakt, gaan we een nieuw bestand toevoegen dat we zullen plaatsen nieuwBestand3 en dan in het bestaande bestand dat er niet in staat .gitignore laten we een verandering aanbrengen.

Wat we hiermee willen bereiken, is testen hoe we onze opdracht kunnen gebruiken git add, laten we eens kijken hoe dit eruit ziet in onze opdrachtconsole:

Nadat we de vorige instructies hadden gevolgd, hadden we zoiets als het bovenstaande op het scherm moeten krijgen, waar we een gewijzigd bestand en een gloednieuw bestand in de bewaarplaats.

Nu gaan we het nieuwe bestand toevoegen aan de repository, maar we zullen het niet doen met het bestaande bestand of degene die we eerder hebben gewijzigd. Hiervoor hoeven we alleen maar te doen git voeg onze bestandsnaam toe. Dan zullen we doen git-status. Laten we kijken:

Zoals we kunnen zien, houdt onze repository al rekening met het bestand waarmee we hebben toegevoegd git add, dit is de manier waarop we in principe kunnen werken aan wijzigingen in onze bestanden.

Bestanden uit de repository verwijderen


De volgende actie die we moeten weten, is om de bestanden uit onze repository te verwijderen, aangezien het heel gewoon is dat we iets per ongeluk hebben gemaakt of dat we er gewoon orde in brengen.

Er zijn twee dingen om rekening mee te houden, we kunnen het bestand uit de index verwijderen van onze repository, maar bewaar het bestand in het systeem van onze map, dus als we een git-status We zullen zien dat het weer beschikbaar is. Of als we het bestand niet kunnen verwijderen uit zowel onze map als uit inhoudsopgave uit onze repository, hiervoor kunnen we het commando git rm.

Het git rm - -cached commando


Met behulp van de opdracht rm met de toegevoegde optie van gecached, wat we doen is het betreffende bestand verwijderen uit de inhoudsopgaveWe zullen het echter op onze computer bewaren, dit commando wordt veel gebruikt als we dit bestand nog niet aan onze repository willen toevoegen, maar we moeten de andere wijzigingen opslaan.

Om het te gebruiken, doen we gewoon het commando als we al hebben toegevoegd met git add een bestand, laten we eens kijken hoe dit eruit ziet in onze opdrachtconsole:

We merken op dat het bestand nieuwBestand3 die we nu aan onze repository hadden toegevoegd, is er niet en heeft de classificatie niet gevolgd.

Het Git rm-commando


Laten we nu eens kijken hoe we de opdracht kunnen gebruiken git rm, is dit commando veel krachtiger omdat het het bestand direct verwijdert uit de inhoudsopgave en van de het dossier, daarom moeten we voorzichtig zijn wanneer we besluiten het in onze repository te gebruiken, het is zeer waarschijnlijk dat we de wijziging niet kunnen herstellen als we het eenmaal hebben toegepast.

Laten we in het volgende voorbeeld zien hoe het werkt als we het toepassen op een bestand, in dit geval gaan we toevoegen nieuwBestand3 met git add en dan zullen we hierop van toepassing zijn git rm:

Dat zien we als we het direct doen git toont ons een fout en vraagt ​​ons om een ​​gedwongen verwijdering uit te voeren bij het toevoegen van de parameter -F aan de instructie is dit te wijten aan het belang van de verandering, tot slot zullen we een git-status en we zullen merken dat dat bestand in zijn geheel uit onze repository is verdwenen.

Meer van .gitignore


We konden zien dat we een specifiek bestand aan ons bestand kunnen toevoegen .gitignoreWanneer we echter in een omgeving werken waarin we honderden of misschien wel duizenden bestanden verwerken, is dat niet erg praktisch, daarom kunnen we patronen gebruiken.

Een patroon stelt ons in staat om aan te geven dat: Git dat een bestand dat voldoet aan de tekenreeks of uitdrukking moet worden genegeerd, hiermee kunnen we specifieke extensies aangeven, hetzij in het hele project of binnen een speciale map. Laten we hier een voorbeeld van bekijken.

* .jpg.webp het negeert alle .jpg.webp-bestanden van ons project, maar als we het spoor van één in het bijzonder willen behouden, hoeven we alleen maar toe te voegen:

 bestandsnaam.jpg.webp
Zo simpel is het, we hebben een sterke en complexe structuur waarmee we onze repository georganiseerd kunnen houden.

Hiermee sluiten we deze tutorial af, we hebben uitgebreid gezien op welke manier Git draagt ​​of beheert de wijzigingen in onze bestanden, het is belangrijk om deze materie onder de knie te krijgen, omdat we hiermee efficiënter kunnen werken in teamomgevingen waar het wordt afgehandeld Git als versiebeheerder.

wave wave wave wave wave