Git 批量拉取所有远程分支到本地(Git Bash + CMD 双版本)

在使用 Git 开发时,经常需要将远程所有分支一次性拉取到本地,避免手动逐个创建。下面分别给出 Git BashWindows CMD 下的一键批量拉取脚本。


一、Git Bash 脚本(适用于 Git Bash / Linux /macOS)

bash

运行

复制代码
git fetch origin

for branch in $(git branch -a | grep "origin/" | grep -v HEAD | sed -e 's/^.*origin\///' -e 's/^[ \t]*//'); do
  git checkout -b $branch origin/$branch 2>/dev/null || git checkout $branch
done

脚本说明

  1. 先执行 git fetch origin 同步远程所有分支信息
  2. 过滤出远程分支,剔除 HEAD 指针
  3. 循环创建本地分支并关联远程分支
  4. 若分支已存在,则直接切换,不报错

二、Windows CMD 脚本(适用于 CMD 批处理)

cmd

复制代码
git fetch origin
for /f "tokens=* delims=" %%a in ('git branch -a ^| findstr /c:"origin/" ^| findstr /v "HEAD"') do (
    set "branch=%%a"
    setlocal enabledelayedexpansion
    set "branch=!branch:*origin/=!"
    git checkout -b !branch! origin/!branch! 2>nul || git checkout !branch!
    endlocal
)

脚本说明

  1. 适用于 Windows 原生命令行,无需 Git Bash
  2. 实现逻辑与 Bash 版本一致
  3. 批量拉取远程所有有效分支到本地
  4. 自动忽略已存在的分支,不中断执行
相关推荐
幽冥三王爷15 小时前
Git 操作常见问题与处理办法
git
独挽离人16 小时前
git标准推送流程
git
无人生还别怕17 小时前
搭建gitlab服务并接入openldap认证
git·gitlab·github·openldap·ldap·统一认证
努力努力再努力wz18 小时前
【Qt入门系列】一文掌握 Qt 常用显示类控件:QLCDNumber、QProgressBar 与 QCalendarWidget
c语言·开发语言·数据结构·数据库·c++·git·qt
查拉图斯特拉面条18 小时前
Git操作指南:克隆、提交、推送与避坑大全
大数据·git·elasticsearch
恋喵大鲤鱼21 小时前
git status
git·git status
恋喵大鲤鱼21 小时前
git rm
git·git rm
liuqun031921 小时前
怎么设置单个项目设置局部的git user.name
git·后端
hikktn1 天前
从Git提交记录挖掘工作总结:简历/日报/周报/年终总结万能写法
git
切糕师学AI1 天前
GitBlit 详解:轻量级的纯 Java Git 服务器
服务器·git