Dotfiles/site-modules/core/files/bin/git-find-merge
Ade Attwood 77575fc2a7 chore(shell): add git find merge commit
This will output the git sha of the merge commit that a given commit is
part of. This can be used to get back to the pull request a commit was
part of. Or it can be used to help revert a hole changeset rather than
only one commit.
2023-11-04 09:00:05 +00:00

7 lines
344 B
Bash
Executable file

#!/bin/bash
# See: https://stackoverflow.com/questions/8475448/find-merge-commit-which-includes-a-specific-commit
commit=$1
branch=${2:-HEAD}
candidates=$(git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n)
echo "$candidates" | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2