Inleiding tot Git Tools
We hebben super effectieve tools beschikbaar met git die onze versie tracking effectief kunnen maken, op een manier die een diepere betekenis geeft aan het versiebeheersysteem. Deze geautomatiseerde tools zullen ons redden van de meeste moeilijke taken en tracking tijdens het werken aan de filialen.
Sommige gevallen waar git tools veel hebben geholpen, zijn hieronder in detail te vinden:
Verschillende Git Tools
Enkele van de gebieden waar git tools effectief kunnen worden toegepast:
- Revisie selectie
- Interactieve enscenering
- Opbergen en schoonmaken
- Uw werk ondertekenen
- Hulpmiddelen voor zoeken - Grep
- Herschrijf geschiedenis
- Tools voor geavanceerde samenvoeging
- Hulpmiddelen om te debuggen
- Git-submodule enz
1. Revisieselectie
Een van de meest effectieve tools om aan commits te werken. We kunnen commits bijhouden die we hebben uitgevoerd en kunnen ze ook verwijzen op basis van onze vereisten. Er zijn twee manieren waarmee we een commit kunnen bereiken.
- Enkele of individuele vastleggingen
- Bereik verbindt
Eén van individuele vastleggingen : wanneer we iets in git vastleggen, wordt de bijbehorende SHA - 1 hash-sleutel gegenereerd en op basis van deze sleutel kunnen we ze verwijzen naar het eenvoudige git show-commando. SHA - 1 sleutel wordt gegenereerd op basis van het hashing-algoritme dat input neemt en een hashwaarde van 160 bit of 20 bytes genereert
- Voorbeeld screenshot is hieronder te zien waar git log alle openingen toont die op de branch zijn uitgevoerd en we kunnen verwijzen naar een specifieke commit met zijn specifieke hashwaarde. Hier verwijs ik naar commit_test2. We kunnen ook notatie in korte vorm gebruiken in showcommando en git zal zijn sleutel identificeren en zijn details verstrekken. Zoals hieronder:
- Op dezelfde manier kunnen we flogs en HEAD met git gebruiken om details van elk evenement te krijgen, zoals getoond in de screenshot hieronder. Het eerste evenement op de tak wordt HEAD of Master genoemd.
Specify Range Commits: We kunnen ook range commits specificeren met show command. Dit is vooral handig wanneer we meerdere vestigingen hebben en we willen weten waar ze worden samengevoegd, enz.
- Van bovenaf verwijst refA naar tak A en refB verwijst naar punt B. De eerste instructie hierboven vertegenwoordigt het commit-bereik tussen referentietak A en B, terwijl het tweede commit-bereik dat niet binnen het bereik van A- en B-takken valt. De derde verklaring in de bovenstaande schermafbeelding is vergelijkbaar met de tweede.
2. Interactieve enscenering
- Met een interactieve staging-tool kun je meer commits spelen of meer betekenis toevoegen. U kunt selecteren welke wijzigingen moeten worden geënsceneerd en welke niet. Deze specifieke tool is handig wanneer we een aantal bestanden hebben gewijzigd, maar we zijn niet zeker over een paar van de wijzigingen. Dus in plaats van het plegen van al deze interactieve staging-tool helpt het om alleen vereiste bestanden of delen in het bestand te plegen door te beslissen wat moet worden geënsceneerd en niet-geënsceneerd.
- In de onderstaande screenshot hebben we vier niet-geënsceneerde bestanden en met interactieve staging met behulp van git add -I of git add -interactieve opties heb ik slechts twee bestanden toegevoegd aan de staging en de resterende twee bestanden zijn nog steeds niet gefaseerd. Dus we kunnen de geënsceneerde bestanden gemakkelijk vastleggen en nog steeds werken aan niet-geënsceneerde bestandswijzigingen en later vastleggen.
- We moeten de update (u of 2) optie gebruiken in wat nu >> prompt o de bestanden toevoegen aan enscenering.
- Als je de eerste screenshot na update >> 2, 3 ziet, kunnen we zien dat in de 2e en 3e rij * is gemarkeerd die het geselecteerde bestand of onderdeel aangeeft dat moet worden geënsceneerd en als je nogmaals op Enter drukt, worden deze 2 en 3 geënsceneerd. In de volgende commit worden de geënsceneerde bestanden gecommit.
- Op dezelfde manier kunnen we andere interactieve hulpmiddelen gebruiken, zoals terugdraaien (3 of r) om de wijzigingen terug te zetten die in het bestand zijn aangebracht, diff (6 of d) om het verschil of de wijziging in het bestand te laten uitvoeren, zoals weergegeven in de bovenstaande screenshot. Ik heb diff toegepast op het nieuws1-bestand waarin rood de wijziging toont die is verwijderd en in groen die nieuw is toegevoegd. Op dezelfde manier kunnen patch-opties worden gebruikt om alleen bepaalde delen van een bepaald bestand op te zetten, niet het volledige bestand.
3. Opbergen en schoonmaken
- Soms moeten we de vertakkingen omschakelen om aan iets anders te werken en willen we de wijzigingen die zijn aangebracht op half gedaan werk niet vastleggen, maar wijzigingen moeten worden gevolgd en opgeslagen. De oplossing is met behulp van een git-stash-tool. Git stash verzamelt al je geënsceneerde, bijgehouden bestanden en plaatsen in een stapel, zodat we de wijzigingen opnieuw kunnen toepassen wanneer we er opnieuw aan willen werken.
- Als ik git-status toepas op mijn huidige werkmap, ziet het er als volgt uit:
- Hier hebben we twee geënsceneerde bestanden en de resterende bestanden zijn niet geënsceneerd. Als ik nu git stash toepas, worden al mijn wijzigingen die worden bijgehouden, dwz gefaseerd en niet gefaseerd, verplaatst een geheugenstapel met stash-ID zoals weergegeven in onderstaande screenshot
- Als we eenmaal stash en de git-status hebben toegepast, kunnen we zien dat er niets te committeren is aan de branch en al mijn wijzigingen zijn verplaatst. We kunnen de stash-versies die we in het geheugen hebben zien door git stash list commando zoals hieronder getoond.
- We kunnen twee versies van stash-gegevens in de stapel opslaan en we kunnen ze terughalen door de opdracht git stash apply toe te passen die de bovenste stapel-stash toepast. Als we een bepaalde voorraad willen toepassen, kunnen we dat indienen, zoals weergegeven in het onderstaande scherm.
- Ik heb (0) toegepast en mijn bestanden zijn terug toegepast. Maar er is een groot verschil toen ik stash terug toepaste. Je kunt zien dat voordat ik stash aanbracht, twee van mijn bestanden werden geënsceneerd en niet werden geënsceneerd. Maar na het toepassen en opnieuw aanbrengen van de stash zijn al mijn bestanden niet meer geënsceneerd. Stash zorgt niet voor bestanden die gefaseerd of niet-gefaseerd zijn. Het voegt alles toe aan de niet-geënsceneerde staat. En zelfs na het aanbrengen van de voorraad blijft het stapelgeheugen behouden.
- We moeten expliciet de opdracht git stack drop vermelden. Als alternatief kunnen we ook git status pop gebruiken om de voorraad toe te passen en deze in één keer neer te zetten.
- Je kunt van bovenstaand scherm zien dat ik (0) heb laten vallen en in de lijst kunnen we zien dat (1) dat ik eerder had terug zal gaan naar de bovenste stapel (0)
- Je kunt het gebruik van het pop-commando zien in de bovenstaande screenshot waar ik (1) toepas en het in één keer laat vallen door het pop-commando. In de git stash-lijst kon je zien dat ik eerder twee stash-versies heb, maar nu slechts één omdat anderen zijn weggevallen.
- Net als bij stash, die een schone werkmap presenteert door gewijzigde bestanden in de stapel te bewaren, kunnen we ook het commando git clean gebruiken. Maar hier kunnen we niets terug opslaan of opnieuw toepassen en we moeten voorzichtig en zeker zijn tijdens het gebruik hiervan. Het is vaak beter om voorraad te verkiezen boven schoon. Er zijn ook meerdere subopties tijdens het gebruik van git clean die we kunnen verkennen.
Conclusie
Dit zijn enkele van de tools die ons rommelige werk op de branches veel eenvoudiger hebben gemaakt en er zijn ook andere tools, zoals Submodule, Debug, Advanced Merge, enz. Die ons ook in verschillende situaties kunnen helpen bij het werken aan branches.
Aanbevolen artikelen
Dit is een gids voor Git Tools. Hier bespreken we verschillende Git Tools in detail uitleg. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie-
- Wat is Git Branch?
- Wat is Git?
- Git-terminologie
- GIT-opdrachten
- GIT-versiebeheersysteem
- Git Push
- Drie fasen van Git-levenscyclus met de workflow