Wann immer ich mir ein neues Ticket schnappe, sind immer wieder die selben Schritte notwendig:
git status #Prüfen, ob noch Änderungen im Working Directory liegen git fetch git checkout master #Oder auch integration, je nachdem was in dem Repo der Basisbranch ist git checkout -b PVKZU-1234 #Würgs, immer wieder PVKZU- tippen nervt!
Alternativ kann man natürlich git fetch und checkout durch checkout und pull tauschen. Ändert aber nichts daran, dass man immer wieder das selbe tippt. Und Entwickler sind ja bekanntermaßen tippfaul.
Also hab ich das ganze in ein Skript gepackt, und kann jetzt folgendes aufrufen:
~/bin/create_branch.sh 1234
Besser, aber immer noch zu lang!
Also noch einen alias in das Startskript (.bash_aliases, .zshrc, je nach verwendeter Shell…):
alias cb='~/bin/create_branch.sh'
Somit reduzieren sich die vier Zeilen auf wenige Tastendrücke:
cb 1234
beziehungsweise:
cb 1234 master
wenn ich von master abbranchen will, und nicht wie default von integration.
Das Skript sieht wie folgt aus:
#!/bin/bash if [ $# -eq 0 ]; then echo ""; echo "Usage: $0 <TICKET NUMBER> [basebranch]"; echo ""; exit 1; fi PREFIX="PVKZU-" FEATURE_BRANCH=$PREFIX$1 BASE_BRANCH=$2 if [ ! $BASE_BRANCH ]; then echo "Base branch is set to integration" BASE_BRANCH="integration" fi [[ -z $(git status -s) ]] if [ $? -ne 0 ]; then echo "You have local changes - Please take care of these first:" git status exit 1 fi echo "Checking out $BASE_BRANCH..." git checkout $BASE_BRANCH; if [ $? -ne 0 ]; then echo "Whoops - Abort, Abort!" exit 1 fi echo "Pulling latest changes..." git pull; if [ $? -ne 0 ]; then echo "Whoops - Abort, Abort!" exit 1 fi echo "Creating new feature branch $FEATURE_BRANCH..." git checkout -b $FEATURE_BRANCH if [ $? -ne 0 ]; then echo "Whoops - Abort, Abort!" exit 1 fi
As always: Kommentare und Verbesserungsvorschläge unten in das Kommentarfeld rein reinpacken bitte! 😀
man cb <3
Huh?
Wenn man das Skript als „git-cb“ unter „~/bin“ ablegt kann man es mit „git cb“ aufrufen.
Funktioniert für alle Skripte mit dem Schema git-* 😉