#!/bin/bash if ! git describe --tags --abbrev=0 &>/dev/null; then echo "Keine Tags gefunden. Verwende den ersten Commit als Startpunkt." START_POINT=$(git rev-list --max-parents=0 HEAD) else START_POINT=$(git describe --tags --abbrev=0) fi echo "Changelog seit $START_POINT:" echo "" echo "Neue Features:" git log --no-merges --pretty=format:"- %s" $START_POINT..HEAD | grep "^feat:" | sort echo "" echo "Fehlerbehebungen:" git log --no-merges --pretty=format:"- %s" $START_POINT..HEAD | grep "^fix:" | sort echo "" echo "Dokumentation:" git log --no-merges --pretty=format:"- %s" $START_POINT..HEAD | grep "^docs:" | sort echo "" echo "Andere Änderungen:" git log --no-merges --pretty=format:"- [%h] %s (%an)" $START_POINT..HEAD | grep -vE "^- (feat|fix|docs):" | sort