#!/bin/bash # Borrowing from https://github.com/syncier/pre-commit-hooks-jumanjihouse/blob/master/pre_commit_hooks/protect-first-parent # Find the correct reference, or fallback to HEAD's abbrev-ref base="$( git rev-parse --abbrev-ref --symbolic-full-name '@{upstream}' 2>/dev/null \ || git branch -avv | awk '/->/ {print $NF}' 2>/dev/null \ || : )" if [ -z "$base" ]; then base="$(git rev-parse --abbrev-ref HEAD)"; fi firstParent="$(git show-ref -s "${base}")" if git rev-list --first-parent "${base}^".. | grep -q "^${firstParent}$"; then exit 0 else echo Foxtrot detected -- please either rebase or '`git reset --soft`' to recreate your commit. exit 1 fi