Files
occlusion-portals-world/repo-reset.sh
2026-07-31 11:15:09 +05:00

34 lines
722 B
Bash
Executable File

#!/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
git fetch --all
echo ""
echo "Going to reset current branch to: ${upstream}"
echo ""
echo "*** WARNING: These local commits will be lost:"
git log "${upstream}..HEAD" --oneline
echo ""
echo "*** WARNING: These local files will be reset:"
git diff "HEAD..${upstream}" --name-only
printf "\nExecute [Y,N]?"; read -r yn
if [ "$yn" = "${yn#[Yy]}" ]; then
echo "Aborting reset..."
else
git reset --hard "$upstream"
echo "Done."
fi
exit 0