#!/bin/sh -e cd "$(dirname "$(readlink -f "$0")")" git rev-parse --is-inside-work-tree >/dev/null upstream="$(git rev-parse --abbrev-ref "@{u}" 2>/dev/null || true)" if [ -z "$upstream" ]; then echo "*** ERROR: No upstream is configured for current branch" exit 1 fi echo "Going to reset current branch to: ${upstream}" echo "*** WARNING: All local changes and commits will be lost!" printf "\nExecute [Y,N]?"; read -r yn if [ "$yn" = "${yn#[Yy]}" ]; then echo "Aborting reset..." else git fetch --all git reset --hard "$upstream" echo "Done." fi exit 0