Git is een populaire, krachtige tool en mogelijk het meest succesvolle versiebeheersysteem dat er ooit is geweest. Git’s kracht blijkt uit zijn commandoset. Het bestaat momenteel uit ongeveer 150 commando’s, van de gemeenschappelijke git-status naar het obscure git-get-tar-commit-id. Omdat elke opdracht zijn eigen reeks opties ondersteunt, is er een duizelingwekkende hoeveelheid om te onthouden.

Gelukkig heeft Git een manier om dingen te vereenvoudigen. Een Git-alias kan fungeren als een snelkoppeling voor elk subcommando, met elke set opties. Met externe opdrachten kunt u nog krachtigere aanroepingen gebruiken. Hier zijn 10 van de handigste aliassen die u kunt instellen.

Een alias instellen

Het instellen van een alias is net zo eenvoudig als het volgen van dit patroon:

git config --global alias.co 'checkout'

De –globaal optie stelt de alias in voor al het Git-gebruik door de huidige gebruiker. Om een ​​alias toe te passen op alle gebruikers van het systeem, gebruik –systeem in plaats van. Om een ​​alias toe te voegen die specifiek is voor de huidige repository, gebruik –lokaal.

Als u weet waar een configuratiebestand zich bevindt, kunt u het direct bewerken. De systeemconfiguratie bevindt zich meestal op een globale locatie: /usr/local/etc/gitconfig. Uw gebruikersspecifieke configuratie zal in een bestand in uw thuismap staan, zoals: ~/.gitconfig. Lokale configuratie bestaat binnen elke repository zelf, in de .git/config het dossier.

Zie ook: Git installeren en configureren op Linux

1. Een alias om snel van tak te wisselen

Afhankelijk van uw workflow, kunt u tijdens elke werksessie vaak van vestiging wisselen. Probeer het volgende om een ​​kleine hoeveelheid inspanning te verlichten en te oefenen met de eenvoudigste soort alias:

alias.co 'checkout'

Typen git co feature1 schakelt nu over naar de kenmerk1 tak. De alias verkort de naam van de subopdracht, die blijft werken met extra argumenten.

2. Bekijk gecondenseerde status

Standaard is de git-status commando produceert uitgebreide uitvoer. Het legt de staat in detail uit, met nuttige informatie voor iedereen die niet bekend is met Git. Als je echter wat ruimte wilt besparen en je al bekend bent met Git-terminologie, wil je misschien een alias instellen voor een kortere versie:

alias.st status -sb

Dit is slechts een heel kleine variatie op git-status, maar de -s optie produceert een korte uitvoer waardoor de zaken een stuk korter worden. Het heeft ongeveer deze standaard git-status nodig:

Een screenshot van een terminal die de uitvoer toont van het git status commando

En produceer dit in plaats daarvan:

Een schermafbeelding van een terminal die uitvoer toont van een git status alias-opdracht

De -B optie toont filiaal- en trackinginformatie die: -s anders zou onderdrukken.

3. Overzichtsregistratie weergeven

Git biedt vele manieren om de geschiedenis van een project te inspecteren via de git-log opdracht. Het kan de commits die het rapporteert filteren en kan veel verschillende gegevens weergeven die bij elke commit horen. Soms wilt u echter een zo compact mogelijk logboek. De –oneline optie biedt dit, maar het is een stuk sneller om het een alias te geven, aangezien het er een is die je vrij vaak zou kunnen gebruiken:

alias.ll 'log --oneline'

De uitvoer presenteert één commit per regel, met de titel van het commit-bericht en een verkorte hash. Het ziet er als volgt uit: De uitvoer presenteert één commit per regel, met de titel van het commit-bericht en een verkorte hash. Het ziet er zo uit:

Een schermafbeelding van een terminal die uitvoer toont van een git-alias van het log-commando

4. De laatste wijziging ongedaan maken

De git reset commando is waardevol, maar het is niet het gemakkelijkst te begrijpen. Soms wil je gewoon een simpele ongedaan maken die de laatste commit terugdraait. De –zacht optie zorgt ervoor dat Git alleen de laatste commit verwijdert, zonder iets te veranderen aan de lokale bestanden in je werkboom. HOOFD~1 is gewoon een manier om te verwijzen naar de commit voor de HEAD.

alias.undo 'reset --soft HEAD~1'

5. Logboek van de laatste verbintenis

Als je een project van de dag ervoor oppikt, kan het handig zijn om de laatste commit te bekijken. Met een git-log alias kun je een snel, gedetailleerd rapport krijgen van de laatste commit:

alias.last 'log -1 HEAD --stat'

De -1 HOOFD optie vraagt ​​gewoon de allerlaatste commit en –stat geeft een overzicht van de bestanden die door de commit zijn beïnvloed, met het aantal regels dat voor elk is ingevoegd en verwijderd.

Een schermafbeelding van een terminal die uitvoer toont van een git-alias voor het log-commando

6. Een eenvoudig eenmalig engagement

Je merkt waarschijnlijk dat je vrij vaak bestanden toevoegt en ze in de volgende stap vastlegt. Tenzij uw workflow ingewikkelder is, wilt u dit proces misschien vereenvoudigen met een alias:

alias.ac '!git add -A && git commit'

De afzonderlijke componenten behoeven niet veel uitleg, behalve dat de -EEN optie doorgegeven aan git-add zal de index automatisch bijwerken zodat alle bestanden overeenkomen met de werkkopie. Het is geschikt voor het verwijderen, wijzigen en maken van bestanden.

Een interessant ding om op te merken over deze alias is dat het twee commando’s combineert. Het doet dit met behulp van de ! symbool als het eerste teken van de alias. Dit informeert Git dat wat volgt een extern shell-commando is in plaats van een subcommando.

7. Fancy Branch-opmaak

Een ander commando met veel flexibiliteit, git-branch kan zijn uitvoer op vele manieren formatteren die verder gaan dan de schaarse standaard.

alias.br "branch --format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(contents:subject) %(color:green)(%(committerdate:relative)) [%(authorname)]' --sort=-committerdate"

Bekijk het formaat van begin tot eind. Merk op dat het veel speciale velden bevat. %(HOOFD) voegt een asterisk toe naast de huidige tak.

Een schermafbeelding van een terminal die uitvoer toont van een git-alias voor het subcommando branch

Aliassen zijn een geweldige manier om te experimenteren met opmaak voor opdrachten zoals git-branch. U zult in de loop van de tijd voorkeuren ontwikkelen, dus het is een must om bij te houden welke opties uw favoriete uitvoer opleveren.

8. Wijzigingen samenvatten per bijdrager

Een variant van git log, git-shortlog groepeert de commits die het toont op auteur. Dit is ideaal voor release-opmerkingen of gewoon om in de gaten te houden wie wat recentelijk heeft gedaan.

Een paar opties zorgen voor een zeer handige auteurssamenvatting voor alle doeleinden, perfect voor regelmatig gebruik via een alias. De -e optie toont naast namen ook e-mailadressen. De –overzicht optie geeft alleen een totale telling weer in plaats van het onderwerp van elke commit. En –genummerd bestelt de uiteindelijke output op basis van het totale aantal bijdragen. U kunt deze alias gebruiken:

alias.contrib 'shortlog -e --summary --numbered'

Om de volgende uitvoer te produceren:

Een schermafbeelding van een terminal die uitvoer toont van een git-alias van het shortlog-subcommando

9. Lijst met takken gesorteerd op laatst gewijzigd

Nu wat meer werk met branches, deze keer met een subcommando op een lager niveau. Deze gecompliceerde alias is een ander voorbeeld van een externe opdracht, in dit geval een pijplijn. Eerst de git-voor-elke-ref commando loopt door alle bekende branches. Het doet zo in auteurdatum volgorde en formatteert de uitvoer om die datum naast de commit-hash te tonen. Ten slotte gebruikt het sed strippen refs/koppen/ van de naam van elke tak.

alias.b '!git for-each-ref --sort="-authordate" --format="%(authordate)%09%(objectname:short)%09%(refname)" refs/heads | sed -e "s-refs/heads/--"'
Een schermafbeelding van een terminal die de uitvoer van een git-alias toont met behulp van de opdracht for-each-ref

Zie ook: Deze Sed-voorbeelden maken je een Linux Power User

10. Een alias om alle aliassen weer te geven

Met al deze ondersteuning voor aliassen, is het verrassend dat Git geen gemakkelijke manier biedt om alle aliassen die je hebt ingesteld te bekijken. Maar maak je geen zorgen, je kunt dat oplossen met een alias! De git config commando geeft een overzicht van alle huidige configuraties. U kunt waarden filteren met de –get-regexp optie, dus de volgende alias geeft je een handig git alias opdracht:

alias.alias 'git config --get-regexp ^alias.'
Een schermafbeelding van een terminal die uitvoer toont van een git-alias om aliassen te tonen

Bespaar tijd en frustratie met Git-aliassen

Git-aliassen besparen u tijd doordat u geen lange en gecompliceerde opdrachten hoeft te typen. Git heeft een enorm aantal subcommando’s, maar aliassen zijn gemakkelijk te hergebruiken en te onderhouden. U kunt zelfs aliassen in uw project bundelen via lokale configuratie, zodat u snelkoppelingen en standaardpraktijken kunt delen.

Net als Linux-aliassen kun je met Git-aliassen minder typen en meer doen. Probeer te experimenteren met de aliassen hierboven en verken de volledige Git-opdrachtenset om de rijkdom aan beschikbare functionaliteit te zien.