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

IT-Teamleiter bei CHECK24.
Hasst es, Dinge selber zu tun, die auch automatisch gehen.
Will nie wieder Code von Hand formatieren müssen.
Will schon beim Schreiben merken, wenn er Blödsinn macht, nicht erst im Fehlerlog nach dem Deployment.

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen