first commit
This commit is contained in:
66
Windows/PUSH-TO-PRODUCTION.bat
Normal file
66
Windows/PUSH-TO-PRODUCTION.bat
Normal file
@@ -0,0 +1,66 @@
|
||||
@echo off
|
||||
setlocal ENABLEDELAYEDEXPANSION
|
||||
|
||||
:: Ensure we're inside a Git repository
|
||||
git rev-parse --git-dir > NUL 2>&1
|
||||
if ERRORLEVEL 1 (
|
||||
echo Error: This directory is not a Git repository.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: Get the current branch name
|
||||
FOR /F "delims=" %%i IN ('git symbolic-ref --short HEAD') DO SET CURRENT_BRANCH=%%i
|
||||
|
||||
:: Check if the current branch is 'development'
|
||||
if NOT "!CURRENT_BRANCH!"=="development" (
|
||||
echo Error: You are not on the 'development' branch.
|
||||
echo Please switch to the 'development' branch and run this script again.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: Prompt for a commit message
|
||||
set /p COMMIT_MESSAGE=Enter your commit message:
|
||||
|
||||
if "%COMMIT_MESSAGE%"=="" (
|
||||
echo Error: Commit message cannot be empty.
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:: Add all changes
|
||||
git add --all
|
||||
|
||||
:: Commit the changes with the provided message
|
||||
git commit -m "%COMMIT_MESSAGE%"
|
||||
|
||||
:: Show the last commit
|
||||
echo Last commit on 'development' branch:
|
||||
git --no-pager log -1 --pretty=format:"%%h - %%s (%%an, %%ar)"
|
||||
echo.
|
||||
|
||||
:: Prompt for confirmation to push to 'production'
|
||||
set /p CONFIRMATION=Do you want to merge 'development' into 'production' and push to the remote repository? (yes/no):
|
||||
|
||||
if /I NOT "%CONFIRMATION%"=="yes" (
|
||||
echo Aborting push to 'production' branch.
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
:: Fetch the latest changes from the remote repository
|
||||
git fetch origin
|
||||
|
||||
:: Switch to the 'production' branch
|
||||
git checkout production
|
||||
|
||||
:: Pull the latest changes in 'production' branch
|
||||
git pull origin production
|
||||
|
||||
:: Merge 'development' into 'production'
|
||||
git merge --no-ff development -m "Merge branch 'development' into 'production'"
|
||||
|
||||
:: Push the 'production' branch to the remote repository
|
||||
git push origin production
|
||||
|
||||
:: Switch back to the 'development' branch
|
||||
git checkout development
|
||||
|
||||
echo Successfully pushed changes from 'development' to 'production' branch.
|
||||
Reference in New Issue
Block a user