如何获取所有Git分支

这篇博客详细介绍了如何获取并拉取Git仓库中的所有远程分支。通过各种Git命令,如`git branch -r`,`git checkout -b origin/`等,可以实现本地对远程分支的跟踪和更新。文中还提供了不同场景下的命令组合,适用于不同的用户需求,包括Bash脚本、PowerShell命令和针对Visual Studio用户的解决方案。
摘要由CSDN通过智能技术生成

我克隆了一个Git存储库,它包含大约五个分支。 但是,当我做git branch我只看到其中一个:

$ git branch
* master

我知道我可以做git branch -a来查看所有分支,但是我如何在本地拉出所有分支,所以当我做git branch ,它会显示以下内容?

$ git branch
* master
* staging
* etc...

#1楼

$ git remote update
$ git pull --all

这假定跟踪所有分支。

如果他们不是你可以用Bash解雇这个:

for remote in `git branch -r `; do git branch --track $remote; done

然后运行该命令。


#2楼

您可以从所有遥控器中获取所有分支,如下所示:

git fetch --all

这基本上是一种权力移动

fetch更新远程分支的本地副本,因此这对于您的本地分支来说总是安全的但是

  1. fetch不会更新本地分支( 跟踪远程分支); 如果你想更新你的本地分支,你仍然需要拉每个分支。

  2. fetch不会创建本地分支( 跟踪远程分支),您必须手动执行此操作。 如果要列出所有远程分支: git branch -a

更新跟踪远程分支的本地分支:

git pull --all

但是,这仍然不够。 它仅适用于跟踪远程分支的本地分支。 要跟踪所有远程分支,请执行此oneliner BEFORE git pull --all

git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done

TL; DR版本

git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all

(看起来拉取所有遥控器的所有分支,但我总是首先获取以确定。)

仅当服务器上存在未由本地分支跟踪的远程分支时,才运行第一个命令。

PS AFAIK git fetch --allgit remote update是等效的。



卡米尔索佐的评论 ,人们发现有用。

我不得不使用:

 for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done 

因为你的代码创建了名为origin/branchname本地分支,而且每当我提到它时,我得到的“refname”origin / branchname'都是模棱两可的。


#3楼

列出远程分支:
git branch -r

您可以将它们作为本地分支机构查看:
git checkout -b LocalName origin/remotebranchname


#4楼

如果你这样做:

git fetch origin

然后他们将在当地。 如果你然后执行:

git branch -a

你会看到它们被列为遥控器/原点/分支名称。 因为他们在当地,你可以随心所欲地做任何事情。 例如:

git diff origin/branch-name 

要么

git merge origin/branch-name

要么

git checkout -b some
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值