克隆Github仓库后本地看不到远端分支,如何拉取所有远端分支?
远端全分支同步到本地Git仓库的操作方法
默认执行git clone时仅会在本地创建和远端默认分支(通常为main)对应的本地分支,其余远端分支仅会以远端追踪引用的形式存在于本地,不会自动生成本地可直接切换的分支,所以执行git branch看不到,只有git branch -r可以查看远端追踪分支。
操作步骤
- 第一步:先拉取最新的远端分支引用到本地
执行命令:git fetch origin
说明:该命令只会拉取远端所有分支的元数据、提交记录到本地缓存,不会修改当前工作区的代码内容,也不会自动生成本地分支 - 第二步:批量创建所有远端分支对应的本地分支
如果你使用的是Linux/macOS的Bash终端,执行以下命令:
如果你使用的是Windows PowerShell终端,执行以下命令:for branch in $(git branch -r | grep -v 'HEAD' | sed 's/origin\///'); do git checkout -b $branch origin/$branch; done
说明:上述命令会遍历所有远端分支(排除指向默认分支的HEAD引用),自动为每个远端分支创建同名的本地分支,并且自动配置本地分支追踪对应的远端origin分支git branch -r | Where-Object { $_ -notmatch 'HEAD' } | ForEach-Object { $branch = $_.Trim().Replace('origin/',''); git checkout -b $branch "origin/$branch" }
后续同步更新方法
后续要同步所有远端分支的最新改动,执行以下两个命令即可:
- 拉取所有远端的最新提交记录:
git fetch --all - 拉取所有本地分支对应的远端更新到本地:
git pull --all
内容的提问来源于stack exchange,提问作者Pranay kumar
相关产品推荐
相关产品推荐

