Samstag, November 29, 2014

Ubuntu Terminal Fenster anpassen

Neulich, nach dem Update meiner Ubuntu Installation von Version 12 auf 14, öffnete sich nach drücken der Tastaturkombination ctrl+alt+t ein häßliches, kleines Terminal Fenster. Das läßt sich zum Glück ändern. Unter Systemeinstellungen->Tastatur->Tastaturkürzel->Eigene Tastaturkürzel habe ich für das Tastaturkürzel ctrl+alt+t folgenden Befehl hinterlegt:
gnome-terminal --profile=Default --geometry=95x35+250+60
Herrlich.

Freitag, Mai 23, 2014

Alltags GIT

Hier eine Zusammenstellung meiner häufigsten GIT Alltagsoperationen: In der Regel geht es mit dem Clonen eines Repositories los:
git clone <url> <local_directory>
Im Anschluss fange ich mit der Arbeit an und editiere einige Dateien. Diese werden mit add und commit in das lokale Repository übernommen.
git add .
git commit -m "Sinnvoller(!) Kommentar."
Falls Dateien gelöscht wurden, dann lohnt sich der folgende Befehl. Dieser sammelt alle geänderten und gelöschten Dateien ein und fügt sie dem Änderungsindex zu.
git add -u
Nach dem commit ist im Anschluss eventuell ein push in das Remote Repository durchzuführen:
git push
Eventuell lege ich vor Arbeitsbeginn einen lokalen Branch an. Das ist vielleicht empfehlenswert, bevor man mit der Arbeit beginnt.
git branch <branch_name>
Oder das Wechseln auf einen bestimmten Branch.
git checkout <branch_name>
Beim Branch-Wechsel bleiben unter Umständen Dateien im Verzeichnisbaum liegen, die man dort nicht wünscht. Z.B. neu angelegte Dateien, die noch nicht unter Versionskontrolle stehen. Das folgende Kommando entfernt alle für GIT unbekannten Dateien und Verzeichnisse. Aber aufpassen: Die Dateien und Verzeichnisse sind dann gelöscht! GIT kann diese Dateien nicht wieder hervorholen.
git clean -f -d
Und falls die Arbeiten sich hinziehen, lohnt sich vielleicht ein Replizieren des Branchs in das Remote-Repository.
git push origin <branch_name>
Irgendwann, wenn das Arbeitsergebnis nach MASTER gemerged wurde, kann der lokale Branch gelöscht werden.
git branch -d <branch_name>
Im zweiten Schritt bietet sich vielleicht auch das Löschen des zugeordneten Remote-Branches an.
git push origin :v1.1.1_optimate
Einen Remote-Branch abholen:
git checkout -b <branch_name> origin/<branch_name>
Ein Tag vergeben (In diesem Fall mit einem sprechendem Kommentar):
git tag -a v1.2.0 -m 'Version 1.2.0'
Und im Anschluss wird das Tag, wenn gewünscht, auch Remote verfügbar gemacht:
git push origin --tags
Ein Tag kann gelöscht werden:
git tag -d v1.2.0
bzw. aus dem Remote-Repository entfernt werden:
git push origin :refs/tags/v1.2.0
Unter Windows hat sich die folgende Farbeinstellung bei mir bewährt. Die Standard-Farbe verschwimmt etwas bei einem eingestellten Zeichensatz Consolas mit Schriftgröße 12.
git config --global color.status.untracked "bold red"

UPDATE (27.11.2014 05:36 Uhr):

Falls die versionierten Dateien auf verschiedenen Plattformen editiert werden, empfiehlt sich die folgende Einstellung:
git config --global core.autocrlf true
Das ergänzt oder entfernt den passenden Zeilenumbruch.

UPDATE (20.09.2014 09:03 Uhr):

Das Umbenennen von Local- und Remote Branch:
#rename local branch
git branch -m old-branch-name new-branch-name

#delete remote branch with old name
git push origin :old-branch-name

#create remote renamed branch and setup remote branch tracking (-u flag)
git push -u origin new-branch-name


UPDATE (22.05.2014 21:18 Uhr):

Unter Github habe ich mir ein kleines Shell Skript zusammen gestellt. Den Command Line Prompt habe ich um den GIT Status erweitert. Weitere Highlights sind die Funktionen 'git_remove_missing_files', 'git_stats' und 'git_info'.

UPDATE (14.06.2017):

Der folgende git Befehl findet alle Branches (local wie remote) die eine bestimmte Commit-ID enthalten.
git branch -r --contains <commit>

AssertJ und java.util.List

AssertJ hat eine praktische Möglichkeit, Listen in JUnit Tests abzuprüfen. Insbesondere, wenn in der Liste komplexe Objekte abgelegt sind, s...