git ready

Lerne Git Commit für Commit
von Nick Quaranto, Übersetzung von Nico Gulden

tig, das NCurses Frontend für Git

eingetragen am 31 Jul 2009

Das ist ein Gastbeitrag von Nathan de Vries.

Ich war nie ein Fan von gitk, aber als ich anfing, Git zu benutzen, fand ich ein Werkzeug namens tig. Es ist in den MacPorts und in Ubuntu (seit Gutsy) mit apt-get install tig verfügbar. Tig bietet eine einfache Kommandozeile und ist doch eine graphische Schnittstelle zu Git.

Die geteilte Hauptansicht - Oben das Protokoll, Unten die Unterschiede

Tig wird am einfachsten im Git Repository mit tig gestartet. Die graphische Git-Log-Ansicht startet und du kannst mit den Pfeiltasten nach unten und oben durch das Protokoll navigieren (oder mit den j und k Tasten, wenn du die VIM Tastenkürzel gewöhnt bist). <enter> auf einen Logeintrag öffnet ein geteiltes Fenster mit dem Diff dieses Commits. Die <Leertaste> bewegt dich durch das Diff und die Pfeiltasten bewegen dich zwischen den Commits hindurch. q schließt das geteilte Fenster und nochmal q beendet tig.

Ein weiteres Feature von tig ist die Baumansicht. Nach dem Start von tig öffnet t in der Log-Ansicht eine navigierbare Dateiansicht des Repositorys. <enter> bringt dich durch Verzeichnisse oder Dateien. <shift>-B auf eine Datei zeigt die Annotated-Ansicht.

Die Baumansicht

Bisher haben wir tig nur für den Branch verwendet, den wir vorher ausgewählt hatten. Aber tig versteht auch Revisionsargumente wie Branch, Tag oder Hash, etc. Ich persönlich finde das sehr nützlich, weil damit die Aktivitäten in einem entfernten Branch verfolgt werden können. Der Befehl hierfür könnte so aussehen tig origin/rel-1.5.

Einen Branch aus einem anderen Branch heraus anzusehen, kann auch nützlich sein, wenn einzelne Commits übernommen werden sollen. Nehmen wir an, ich habe einen Commit in master vorgenommen, die ich im Release-Branch origin/rel-1.5 verfügbar machen möchte. Ich muss lediglich den Release-Branch mit git checkout -b 1.5 origin/rel-1.5 auschecken, tig mit tig master öffnen und zu dem Changeset navigieren, das ich gerne mit <shift>-C übernehmen möchte. Wiederhole diesen Schritt so oft, wie nötig.

Die Schuldansicht

Ich konnte noch nicht alle anderen Features von tig untersuchen, bis auf tig show [rev] und tig blame [file], die ich jeden Tag benutze. Wenn du weitere Tips für die Benutzung von tig hat, lass sie uns bitte in den Kommentaren wissen!