Neuen Branch erzeugen

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! 😀

About the author

People Enabler at CHECK24

Comments

  1. 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-* 😉

Leave a Reply

Your email address will not be published. Required fields are marked *