48 lines
1.3 KiB
Batchfile
48 lines
1.3 KiB
Batchfile
@echo off
|
|
REM ---------------------------------------------
|
|
REM Safe Switchboard External Command: Git Pull
|
|
REM Discards local changes, pulls latest from current branch
|
|
REM Safe to keep inside the Git repo
|
|
REM ---------------------------------------------
|
|
|
|
REM Change this to your project repo path (can be inside repo)
|
|
set REPO_PATH=D:\Projects\DEV_TheStudio_Plugin
|
|
|
|
REM Name of this batch file
|
|
set BATCH_NAME=%~nx0
|
|
|
|
echo ------------------------------------------------
|
|
echo [%COMPUTERNAME%] Starting safe Git pull on %REPO_PATH%
|
|
echo ------------------------------------------------
|
|
|
|
REM Navigate to the repo
|
|
cd /d "%REPO_PATH%"
|
|
|
|
REM Ensure Git is installed
|
|
where git >nul 2>&1
|
|
IF %ERRORLEVEL% NEQ 0 (
|
|
echo ERROR: Git is not installed or not in PATH
|
|
exit /b 1
|
|
)
|
|
|
|
REM Get current branch
|
|
for /f "tokens=*" %%i in ('git rev-parse --abbrev-ref HEAD') do set CURRENT_BRANCH=%%i
|
|
echo Current branch: %CURRENT_BRANCH%
|
|
|
|
REM Discard any local changes (staged and unstaged)
|
|
git reset --hard
|
|
|
|
REM Clean untracked files and directories, excluding this batch file
|
|
git clean -fdX -e "%BATCH_NAME%"
|
|
|
|
REM Pull latest changes from origin for current branch
|
|
git pull origin %CURRENT_BRANCH%
|
|
|
|
REM Show status
|
|
git status
|
|
|
|
echo ------------------------------------------------
|
|
echo [%COMPUTERNAME%] Git pull complete
|
|
echo ------------------------------------------------
|
|
pause
|