From 7e2b15f90ccb72ba6ca90b1216ec87922ee1bbdc Mon Sep 17 00:00:00 2001 From: Aydin <108932477+Aydinhamedi@users.noreply.github.com> Date: Mon, 25 Mar 2024 00:14:34 +0330 Subject: [PATCH] new file: archive_git_branch.cmd --- archive_git_branch.cmd | 68 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 archive_git_branch.cmd diff --git a/archive_git_branch.cmd b/archive_git_branch.cmd new file mode 100644 index 0000000..e84e9ad --- /dev/null +++ b/archive_git_branch.cmd @@ -0,0 +1,68 @@ +@echo off +set /p branchName="Enter the branch name to archive: " + +:: Check if the branch exists locally +git rev-parse --verify %branchName% >nul 2>&1 +if errorlevel 1 ( + echo The branch '%branchName%' does not exist locally. + echo Fetching the branch from the remote repository... + git fetch origin %branchName%:%branchName% +) + +:: Check if the fetch was successful +git rev-parse --verify %branchName% >nul 2>&1 +if errorlevel 1 ( + echo Failed to fetch the branch '%branchName%'. Please check the branch name and try again. + exit /b +) + +:: Archive the branch +set tagName=archive/%branchName% +git tag %tagName% %branchName% +git push origin %tagName% +echo Branch %branchName% has been archived as %tagName%. + +:: Ask the user if they want to delete the branch +set /p deleteBranch="Do you want to delete the branch locally and remotely? (yes/no): " +if /i "%deleteBranch%"=="yes" ( + git branch -d %branchName% + git push origin --delete %branchName% + echo Branch %branchName% has been deleted. +) + +:: Suggest a filename for the batch file +set filename=archive_git_branch_%branchName%_%date:/=-%.bat +echo Suggested filename for this batch file is: %filename% +:: Filename: archive_git_branch.bat + +@echo off +set /p branchName="Enter the branch name to archive: " + +:: Check if the branch exists locally +git rev-parse --verify %branchName% >nul 2>&1 +if errorlevel 1 ( + echo The branch '%branchName%' does not exist locally. + echo Fetching the branch from the remote repository... + git fetch origin %branchName%:%branchName% +) + +:: Check if the fetch was successful +git rev-parse --verify %branchName% >nul 2>&1 +if errorlevel 1 ( + echo Failed to fetch the branch '%branchName%'. Please check the branch name and try again. + exit /b +) + +:: Archive the branch +set tagName=archive/%branchName% +git tag %tagName% %branchName% +git push origin %tagName% +echo Branch %branchName% has been archived as %tagName%. + +:: Ask the user if they want to delete the branch +set /p deleteBranch="Do you want to delete the branch locally and remotely? (yes/no): " +if /i "%deleteBranch%"=="yes" ( + git branch -d %branchName% + git push origin --delete %branchName% + echo Branch %branchName% has been deleted. +)