scatterd-dotfiles/bin/git-merge-branch
2020-06-17 17:07:23 -04:00

26 lines
683 B
Bash
Executable file

#!/bin/sh
set -e
if git symbolic-ref --short refs/remotes/origin/HEAD >/dev/null; then
main_branch="$(git symbolic-ref --short refs/remotes/origin/HEAD | sed 's@^origin/@@')" "$@"
else
echo "You don't have a primary branch reference set for your origin remote.
Use:
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/{name_of_your_primary_branch}
to set the reference and then try merging again."
exit 1
fi
git fetch origin
line_count=$(git diff origin/$main_branch..$main_branch | wc -l)
if [ $line_count -gt 0 ]; then
printf "failed: $main_branch is not up to date with origin/$main_branch\n"
exit 1
fi
git checkout $main_branch
git merge "@{-1}"