Git: checkout all remotes branches

#!/bin/env bash

for branch in $(git branch -a | grep '^\s*remotes/origin/' | grep -Ev '(:?HEAD|master)$'); do
  git branch --force --track "${branch##*/}" "$branch"
done

 

git clone --mirror path/to/original path/to/dest/.git
cd path/to/dest
git config --bool core.bare false
git checkout anybranch
mkdir repo
cd repo
git clone --bare path/to/repo.git .git
git config --unset core.bare
git reset --hard

https://stackoverflow.com/questions/67699/how-to-clone-all-remote-branches-in-git#:~:text=You%20only%20need%20to%20use,clone%22%20to%20get%20all%20branches.&text=Even%20though%20you%20only%20see,a%22%20to%20see%20all%20branches.&text=And%20you%20can%20switch%20to%20any%20branch%20which%20you%20already%20have.&text=Don't%20worry%20that%20after,connect%20with%20the%20remote%20repository.

posted @ 2022-02-10 13:02  ascertain  阅读(115)  评论(0编辑  收藏  举报