Search code examples
gitgit-branchgit-clone

git clone specific list of branches


I want to clone a list of branches from remote repo. What is the best way to do that without fetching everything? I saw solutions for cloning one specific branch but I need multiple branches. Thank you.

Edit: I ended up using following command to create a bundle and then using it for my purposes:

git bundle create ../BUNDLE.bundle branch1 branch2 refs/notes

And then using this bundle for my purposes.


Solution

  • You start with one branch:

    git clone --branch first URL localrepo
    

    and then fetch all the rest:

    cd localrepo
    for branch in second third etc; do
        git fetch origin $branch:$branch
    done
    

    Or without loop

    git fetch origin second:second third:third