71px-Git-logo.svgDa wir sicherlich noch alle von den Sylvester-Feierlichkeiten gezeichnet sind, möchte ich euch heute ausser ein Frohen Neues zu wünschen, noch ein wenig mit git in der Kommandozeile behilflich sein.
Da ich mich in der Zwischenzeit doch relativ viel in Git-Repository bewege, lasse ich mir den aktuellen Branch und den Commit-Status in meinem Prompt anzeigen.

lbetz@Leibniz ~/puppetcode/modules/tomcat:next±$

Hier befinde ich mich im Tomcat-Repository im Branch next, ± bedeutet das noch Dateien via commit ins Repository geschrieben werden müssten.

function is_on_git() {
  git rev-parse 2> /dev/null
}
function parse_git_dirty() {
  [[ $(git status 2> /dev/null | tail -n1) != *"working directory clean"* ]] && echo "±"
}
function parse_git_branch() {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(parse_git_dirty)/"
}
export PS1="\[${ORANGE}\]\[${MAGENTA}\]\u@\h \[${WHITE}\]\w\$(is_on_git && [[ -n \$(git branch 2> /dev/null) ]] && echo \":\")\[${PURPLE}\]\$(parse_git_branch)\[${RESET}\]\[${ORANGE}\]\[${RESET}\]$ "

Die Farben lassen sich je nach Terminal im Vorfeld anpassen.

if tput setaf 1 &> /dev/null; then
  if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then
    MAGENTA=$(tput setaf 9)
    ORANGE=$(tput setaf 172)
    GREEN=$(tput setaf 190)
    PURPLE=$(tput setaf 141)
    WHITE=$(tput setaf 0)
  else
    MAGENTA=$(tput setaf 5)
    ORANGE=$(tput setaf 4)
    GREEN=$(tput setaf 2)
    PURPLE=$(tput setaf 1)
    WHITE=$(tput setaf 7)
  fi
  BOLD=$(tput bold)
  RESET=$(tput sgr0)
else
  MAGENTA="\033[1;31m"
  ORANGE="\033[1;33m"
  GREEN="\033[1;32m"
  PURPLE="\033[1;35m"
  WHITE="\033[1;37m"
  BOLD=""
  RESET="\033[m"
fi
export MAGENTA
export ORANGE
export GREEN
export PURPLE
export WHITE
export BOLD
export RESET

Und nun wünsche ich zum Abschluss allen noch ein erfolgreiches Neues Jahr, sowie Ilka eine schönen heutigen Geburtstag.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.