首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Git中克隆所有远程分支?

如何在Git中克隆所有远程分支?
EN

Stack Overflow用户
提问于 2008-09-16 06:42:07
回答 41查看 1.5M关注 0票数 4.5K

我有一个master和一个development分支,这两个分支都推送到GitHub。我使用了cloned、pulled和fetched,但是除了master分支之外,我仍然无法获得其他任何东西。

我确信我遗漏了一些明显的东西,但我已经看过手册了,我根本就不了解joy。

EN

Stack Overflow用户

发布于 2021-09-04 12:23:30

我正在从Udemy课程Elegant Automation Frameworks with Python and Pytest克隆一个存储库,这样我以后就可以通过OFFLINE查看它。我尝试下载压缩包,但这只适用于当前分支,所以这里是我的2美分。

我在Windows上工作,很明显,我求助于Windows Subsystem for Linux中的Ubuntu shell。克隆之后,下面是我的分支:

代码语言:javascript
运行
复制
$ git clone https://github.com/BrandonBlair/elegantframeworks.git

$ git branch -a

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/config_recipe
  remotes/origin/functionaltests
  remotes/origin/master
  remotes/origin/parallel
  remotes/origin/parametrize
  remotes/origin/parametrize_data_excel
  remotes/origin/unittesting
  remotes/origin/unittesting1

然后--在尝试了几个git checkout砖墙-之后,最终对我起作用的是:

代码语言:javascript
运行
复制
$ for b in `git branch -a | cut -c18- | cut -d\  -f1`; do git checkout $b; git stash; done

在此之后,以下是我的分支:

代码语言:javascript
运行
复制
$ git branch -a

  config_recipe
  functionaltests
  master
  parallel
  parametrize
  parametrize_data_excel
  unittesting
* unittesting1
  remotes/origin/HEAD -> origin/master
  remotes/origin/config_recipe
  remotes/origin/functionaltests
  remotes/origin/master
  remotes/origin/parallel
  remotes/origin/parametrize
  remotes/origin/parametrize_data_excel
  remotes/origin/unittesting
  remotes/origin/unittesting1

我的是物理的,去掉了初始的remotes/origin/,然后过滤掉空格分隔符。可以说,我可以只用一个cut就完成grep HEAD,但我将把它留给评论。

请注意,您当前的分支现在是列表中的最后一个分支。如果你不知道为什么会这样,那你就有麻烦了。现在只需git checkout你想要的任何东西。

票数 7
EN
查看全部 41 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档