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. 自动忽略已存在的分支,不中断执行
相关推荐
嘻嘻仙人2 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson2 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友2 天前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
深海鱼在掘金3 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森3 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang3 天前
Git 必备命令指南:从日常高频到项目开发实战
git
叫我少年4 天前
Windows 中安装 git
git
深海鱼在掘金9 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git
noravinsc10 天前
关于Git Flow
git
蜜獾云10 天前
在Git中配置用户名和密码
git