Archive a git branch

Save this code into a bash script file & call it from any sub-directory of a git repository. This MUST be called from within your git directory or a sub-directory of it.

echo "Will Archive branch at $(git rev-parse --show-toplevel)."  
echo "You must not be on the branch you're archiving."  
git config --get remote.origin.url  
git branch -a  
read -p "Enter Branch Name: " branch;  
# git checkout master  
case $branch in  
    "" ) echo "Empty branch name. Exiting";exit;;  
    "q" ) echo "Empty branch name. Exiting";exit;;  
    "n" ) echo "Empty branch name. Exiting";exit;;  
esac  
  
git tag archive/$branch $branch  
git push --tags  
git branch -D $branch  
git branch -d -r origin/$branch  
git push origin :$branch  

To use it

  1. Copy+paste the code into a file with no extension or a .sh extension wherever you like
  2. chmod ug+x gitarchive.sh - The script must be executable
  3. cd ~/dir/to/git/repo/
  4. /path/to/gitarchive.sh & follow the prompts