#!/usr/bin/env zsh # recup branches not on local localbranches=( $(git br | sed 's/\*/ /') ) remoteMissingBranches=( $(git br -r | \ egrep -v "origin/HEAD|(${(j:|:)localbranches})" ) ) for br in $remoteMissingBranches; do branch=${br#origin/} print "get remote branch $branch" git br ${branch} git config branch.${branch}.remote origin git config branch.${branch}.merge refs/heads/${branch} done