Remote-Branch unter Git umbenennen

Um unter Git einen Branch umzubenennen nutzt man den entsprechenden Terminalbefehl:

git branch -m oldBranchname newBranchname

Damit wird der Branch im lokalen Repository umbenannt. Wenn dieser nun mittels git push auf den entfernten Remote übertragen wird, so entsteht dort ein neuer Branch. Um die Umbenennung auch auf dem Remote durchzuführen muss der alte Branch auf dem Remote gelöscht werden:

git push origin :oldBranchname

Damit wird der alte Branch auf dem Remote gelöscht und die Umbenennung ist abgeschlossenen.

maybe

Das Terminal ist geöffnet und ein Befehl wie:

rm -rf img*

soll abgesetzt werden. Nun stellt sich die Frage ob man diesen Befehl wirklich so ausführen möchte. Natürlich könnte es sein, das der Befehl zu weit greift, was dazu führt das man mehr löscht als einem lieb ist. Einen Ausweg aus dieser Misere bietet das in Python geschriebene Tool maybe. Installiert werden kann dieses auf der Konsole mittels:

pip install maybe

Führt man nun ein Skript mittels maybe aus:

maybe test.sh

so ermittelt maybe, welche Operationen das Skript vornehmen möchte und zeigt diese an. Nach einer Bestätigung kann der Befehl anschließend ausgeführt werden. Technisch funktioniert das ganze dabei indem der Prozess unter der Kontrolle von ptrace ausgeführt wird. Hierbei werden allerdings nur einige Systemaufrufe blockiert, so das man maybe nur mit Skripten nutzen sollte, welchen man vertraut. Der Quelltext von maybe ist auf GitHub zu finden. Lizenziert ist das Tool unter der GPL in Version 3 und damit freie Software.

Alle .git Ordner rekursiv entfernen

Vor kurzem stand ich vor dem Problem, das ich eine Menge Git-Repositories auf der Festplatte hatte und diese um den .git Ordner bereinigen wollte. Unter Linux und Mac OS X kann man sich für diese Aufgabe mit der Kommandozeile behelfen. Dazu wechselt man in den entsprechenden Ordner und gibt im Terminal folgendes ein:

find . | grep .git | xargs rm -rf

Damit werden sämtliche .git Ordner rekursiv gesucht und gelöscht. Was übrig bleibt sind die aktuellen Arbeitskopien der jeweiligen Git-Repositores.

Zeilennummerierung unter nano aktivieren

Auf vielen unixoiden Systemen gibt es den Texteditor nano. Im Standardmodus ist die Anzeige der Zeilennummerierung unter nano deaktiviert. Möchte man dies ändern so muss der Parameter -c beim Aufruf des Editors angetragen werden:

nano -c config.cfg
nano mit aktivierter Anzeige der Zeilennummerierung

nano mit aktivierter Anzeige der Zeilennummerierung

Damit zeigt nano im unteren Bereich unter anderem die Zeilennummer an, so das man eine bestimmte Zeile bei Fehlern schnell finden kann.

Sprachausgabe im Terminal unter Mac OS X

Unter Mac OS X gibt es eine Sprachausgabe welche qualitativ gesehen zu den besseren Sprachausgaben gehört. Diese Sprachausgabe kann dabei auch über das Terminal bedient werden. Ein:

say "Hallo Welt"

würde dabei Hallo Welt mit der Standardsystemstimme ausgeben. Möchte man eine bestimmte Stimme nutzen, so kann man dies über den Parameter -v angeben:

say -v "Anna" "Hallo Welt"

Dabei gibt es neben den normalen Stimmen eine ganze Reihe von speziellen Stimen (Albert, Bad News, Bahh, Bells, Boing, Bubbles, Cellos, Deranged, Good News, Hysterical, Pipe Organ, Trinoids, Whipser, Zarvox):

say -v "Cellos" "Lalala Hahaha Dadada dadada"

Möchte man die Stimmenausgabe in einer Datei speichern, so nutzt man den Parameter -o:

say "Hallo." -o hallo.aiff

Damit wird die Ausgabe direkt in der Datei gespeichert und kann somit später verwendet werden.