Scripttip: Mehr Informationen im Bash-Prompt

Welche Ruby-Version verwende ich gerade und in welchem Git-Branch arbeite ich momentan…? Um nicht jedes mal „–version“ und mehr aufzurufen um an diese Information zu kommen, kann man einfach sein Bash-Prompt erweitern. So sind die aktuellen Daten immer präsent und kann u.U. auch Fehler vermeiden.

Um die entsprechenden Details im Bash-Prompt anzuzeigen kann folgende Ergänzung in der .bashrc vorgenommen werden. (In diesem Beispiel gehe ich davon aus, dass rvm zur Verwaltung der Ruby-Version eingesetzt wird.)

[bash]
# In dieser Funktion ermitteln wir den aktuellen Git-Branch in dem wir uns befinden
function find_git_branch {
git branch –no-color 2> /dev/null | sed -e ‚/^[^*]/d‘ -e ’s/* (.*)/[1] /‘
}

rvm system

# Hier wird die aktuelle Ruby-Version ermittelt
function get_rvm_ruby_version(){
RUBY_INFO=`rvm-prompt`
PROMPT_STR=""
if [ -n "$RUBY_INFO" ]; then
PROMPT_STR="[$RUBY_INFO]"
fi
echo $PROMPT_STR
}

# Diese Funktion erweitert den Prompt mit den Daten aus den vorherigen Funktionen
function prompt_func(){
export PS1="[e]0;wa]n[e[32m]u@h [\033[1;36m]$(get_rvm_ruby_version) [\033[0;34m]$(find_git_branch) [e[33m]w[ e[0m]n$ "
}

PROMPT_COMMAND=prompt_func
[/bash]

Nachdem die .bashrc um diese Funtionen ergänzt wurden findet man alle Information in seinem neuen Prompt:
benutzer@host [ruby language=“-1.8.7-p248″][/ruby] [master] ~/mein/pfad/im/git/projekt

Wenn keine Ruby-Version aktiviert ist oder man sich nicht in einem Git-Verzeichnis befindet, werden die entsprechenden Stellen im Prompt weggelassen.

Gitcasts von Scott Chacon

Heute wollen wir euch eine weitere Seite mit guten Screencasts vorstellen: Gitcasts. Wie der Name schon vermuten läßt, handelt es sich um Videos über die Versionsverwaltungssoftware Git. Die Screencasts stammen von Scott Chacon der diese bei seinen ersten Gehversuchen mit Git erstellt hatte.

Inzwischen sind dreizehn Videos auf seinem Blog verfügbar. Die Aufzeichnungsqualität reicht nicht ganz an die von Railscasts heran, aber es ist ein guter Einstieg in das Thema.

Dies sind die bisher verügbaren Videos:

Git Diff
Git Submodules
Git on Windows
RailsConf Git Talk
Empty Branches
Distributed Workflow
Rebasing
Branching and Merging
Browsing Git Objects
Git Log
Interactive Adding
Normal Workflow
Setup, Initialization and Cloning