From 72bf2eda798e8fe7945fa9acba8674efb5e7bb1a Mon Sep 17 00:00:00 2001 From: raccoon Date: Mon, 2 Mar 2026 12:06:35 +0500 Subject: [PATCH] Added shell scripts for repository reset --- repo-reset.cmd | 33 +++++++++++++++++++++++++++++++++ repo-reset.sh | 24 ++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 repo-reset.cmd create mode 100755 repo-reset.sh diff --git a/repo-reset.cmd b/repo-reset.cmd new file mode 100644 index 0000000..f072c84 --- /dev/null +++ b/repo-reset.cmd @@ -0,0 +1,33 @@ +@ECHO OFF +TITLE Reset Unity Project repo +SETLOCAL + +CD "%~dp0" +git rev-parse --is-inside-work-tree >NUL || GOTO die + +FOR /F "delims=" %%x IN ('git rev-parse --abbrev-ref "@{u}" 2^>NUL') DO SET "upstream=%%x" +IF NOT DEFINED upstream ( + ECHO *** ERROR: No upstream is configured for current branch + GOTO die +) + +ECHO Going to reset current branch to: %upstream% +ECHO *** WARNING: All local changes and commits will be lost! + +ECHO. +CHOICE /M "Execute" +IF %ERRORLEVEL% NEQ 1 ( + ECHO Aborting reset... +) ELSE ( + git fetch --all || GOTO die + git reset --hard "%upstream%" || GOTO die + ECHO Done. +) + +:end +PAUSE +EXIT /B 0 + +:die +PAUSE +EXIT /B %ERRORLEVEL% diff --git a/repo-reset.sh b/repo-reset.sh new file mode 100755 index 0000000..4339561 --- /dev/null +++ b/repo-reset.sh @@ -0,0 +1,24 @@ +#!/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