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 小时前
Git远程连接指南:SSH与HTTPS协议详解
git·https·ssh
凉生阿新2 小时前
【React】从零配置 Git Hooks:提交前自动校验与格式化(Vite + React 19)
前端·git·react.js
C++ 老炮儿的技术栈14 小时前
分享一个安全的CString
c语言·c++·windows·git·安全·visual studio
努力干饭中16 小时前
Git Rebase 最佳实践
前端·git
ノBye~17 小时前
Docker Compose+Jenkins自动化部署全流程
git·docker·jenkins
社恐的下水道蟑螂18 小时前
前端面试必问 Git 通关指南:常用命令速查 + merge/rebase 深度辨析,看完再也不慌
前端·git·面试
DanCheOo18 小时前
我写了一个 AI Commit Message 生成器,再也不用想怎么写 git commit 了
git·全栈
. . . . .19 小时前
git-ai 项目详解
人工智能·git
New_Horizons66621 小时前
Git 设置命令的别名(alias)
git