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. 自动忽略已存在的分支,不中断执行
相关推荐
九皇叔叔12 小时前
Git 首次提交项目
git
长沙红胖子Qt13 小时前
关于 sourceTree桥接管理远端svn仓库出现git时区差8小时无法同步 的解决方法
git·svn·时间差·8小时
weelinking13 小时前
2026年三大主流大模型深度对比:GPT-5.5、Claude 4.6与DeepSeek V4谁更值得选择?
java·大数据·人工智能·git·python·gpt·github
爱上纯净的蓝天21 小时前
Git 入门完全指南:从安装到第一次开源贡献
git·开源
小陈同学,,1 天前
如何切换git仓库
git
OYangxf1 天前
Git Commit Message
运维·git
芯有所享1 天前
【芯片设计中的版本管理:Git与SVN的实战选择指南】
经验分享·git·svn
开发者联盟league1 天前
解决git报错 filename too long
git
jian110581 天前
android studiod git在git reset origin/main以后,会有删了又新建的导包问题
git
搬砖的梦先生1 天前
Codex 小步迭代 + Git Commit + 多任务并行组合版
大数据·git·elasticsearch