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

在使用 Git 开发时,经常需要将远程所有分支一次性拉取到本地,避免手动逐个创建。下面分别给出 Git Bash 和 Windows 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 分钟前
Anthropic 用 5 个月重写了 Git:当 AI Agent 把版本控制系统逼到墙角
人工智能·git·elasticsearch·deepseek v4 pro·kimi k3·glm 5.3·qwen3.7 max
leo_厉锵1 小时前
GIT习题
git
catoop15 小时前
用 Shell 包装函数,让单个命令拥有专属配置
git
Zguigo17 小时前
学会更高效的理解AI的输出?
人工智能·git·ai
鬼手点金21 小时前
上下文:Agent 的眼睛
java·前端·人工智能·git·深度学习
guohuang1 天前
让机器人安全失败:点云中断、TF 超时和控制器崩溃怎么测
git·安全·机器人
小道士写程序1 天前
Git 大文件问题解决办法
git
黑泽明Coding1 天前
如何重置git分支,清空分支所有提交历史
git
小堃学编程1 天前
Git远程开发操作指南
git
于眠牧北1 天前
雷电模拟器9/14搭配charles抓取自带浏览器接口9/14
经验分享·笔记·git