• Pull all remote git branches to local

    Used this when moving away from a git repository that it wasn’t possibly to transfer. Unfortunately the repository had a lot branches that I wanted to keep a copy of just in case.

    So I used the following bash script to pull them all down locally so I had a backup.

    #!/bin/bash
    
    # Clone the repository
    git clone [email protected]:username/repository.git
    
    # Navigate into the repository
    cd repository.git
    
    # Fetch all branches
    git fetch --all
    
    # For each remote branch
    for branch in `git branch -r | grep -v HEAD`;do
        # Get the name of the branch without the "origin/" prefix
        name=`echo $branch | cut -d/ -f2-`
    
        # Create and checkout local branch
        git checkout -b $name $branch
    done

    Just replace username and repository with the actual username and repository name.

    Save this script to a .sh file, give it execute permissions with chmod +x scriptname.sh, and then run it with ./scriptname.sh.