Git einrichten
In letzter Zeit habe ich wieder mehr auf verschiedenen Linux-Rechnern zu tun und finde mich häufig dabei wieder, auf einem Rechner Git zu installieren und einzurichten.
Die Installation geht über die Paketverwaltung üblicherweise einfach
mit einem kurzen sudo apt install git
,
oder wie auch immer der Paketmanager heißt.
Doch das allein reicht nicht. Für sinnvolle Commits benötige ich einen Benutzernamen und eine E-Mail-Adresse. Außerdem möchte ich noch einige Einstellungen, die mir die Arbeit mit Git vereinfachen, so dass es nicht ohne Einrichtung geht. Insbesondere will ich, dass der Credential-Helper sich die Zugangsdaten zu Remote-Repositories eine zeitlang merkt, möchte ich meinen bevorzugten Editor für die Commit-Nachrichten und generell main als Defaultzweig für neue Repositories.
Von Tom Limoncelli habe ich ein paar Aliases übernommen, die mich schneller bei der Arbeit machen.
Letztendlich sehen die Mindestanforderungen,
die ich an eine gepflegte Git-Umgebung stelle,
mit git config -l
ungefähr so aus:
user.name=Mathias Weidner
user.email=mathias@mamawe.net
alias.co=checkout
alias.ci=commit
alias.br=branch
alias.st=status
alias.revert-file=checkout HEAD --
credential.helper=cache --timeout 3600
core.editor=vim
init.defaultbranch=main
Da ich, wie bereits erwähnt, in letzter Zeit wieder häufiger Git auf neuen Rechnern einrichte, habe ich mir ein Skript zu diesem Zweck geschrieben, das Benutzername und E-Mail zur Not selbst aus GECOS-Feld und Hostname zusammenbaut und die restlichen Einstellungen setzt.
Dabei konfiguriert das Skript Git durch Aufruf von
git config --global
.
Weil das automatische Ermitteln von Benutzername und E-Mail
nur rudimentär ausgeführt ist
und nicht immer wie gewünscht funktioniert,
kann ich diese auch mit den Optionen -n
beziehungsweise -e
vorgeben.
Zusätzlich kann ich mir
mit Option -d
(dry run) erst einmal ausgeben lassen,
was das Skript konfigurieren würde,
oder mit -h
nochmal alle Optionen anzeigen lassen.
$ ./setup-git.bash -h
Usage: ./setup-git.bash [ -h ] [ -e <email address> ] [ -n <user name> ]
-d - dry run
-e <email> - use this as email address
-h - show this help
-n <name> - use this as username
Das Skript ist bei GitHub zu finden.