#!/usr/bin/bash set -euo pipefail line="${1:?line argument missing}" file="${2:?file argument missing}" sha=$(git blame -L "$line,$line" --porcelain -- "$file" | head -1 | grep -Eo '[[:xdigit:]]+' | head -1) git log -1 "$sha"