首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git没有显示本地的所有分支

Git没有显示本地的所有分支
EN

Stack Overflow用户
提问于 2013-03-31 02:28:56
回答 2查看 40.3K关注 0票数 18

我从Github那里拿到了回购。在执行git remote -v时,它显示:

代码语言:javascript
复制
origin  https://github.com/myusername/moodle.git (fetch)
origin  https://github.com/myusername/moodle.git (push)
upstream    https://github.com/moodle/moodle.git (fetch)
upstream    https://github.com/moodle/moodle.git (push)

moodle.git大约有10个分支,但repo只显示了其中的2个。在执行git branch -a (显示所有分支)时,我得到:

代码语言:javascript
复制
  MOODLE_24_STABLE// just these two on local..how?
* master//
  origin/MOODLE_13_STABLE
  origin/MOODLE_14_STABLE
  origin/MOODLE_15_STABLE
  origin/MOODLE_16_STABLE
  origin/MOODLE_17_STABLE
  origin/MOODLE_18_STABLE
  origin/MOODLE_19_STABLE
  origin/MOODLE_20_STABLE
  origin/MOODLE_21_STABLE
  origin/MOODLE_22_STABLE
  origin/MOODLE_23_STABLE
  origin/MOODLE_24_STABLE
  origin/master
  upstream/MOODLE_13_STABLE
  upstream/MOODLE_14_STABLE
  upstream/MOODLE_15_STABLE
  upstream/MOODLE_16_STABLE
  upstream/MOODLE_17_STABLE
  upstream/MOODLE_18_STABLE
  upstream/MOODLE_19_STABLE
  upstream/MOODLE_20_STABLE
  upstream/MOODLE_21_STABLE
  upstream/MOODLE_22_STABLE
  upstream/MOODLE_23_STABLE
  upstream/MOODLE_24_STABLE
  upstream/master

如何在不丢失数据或不出现任何异常的情况下解决问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-31 02:45:37

克隆存储库不会复制本地存储库上的所有远程分支:对于具有大量分支的大型远程存储库,这会用大量分支污染本地名称空间。

我有一个one-liner command,用于创建跟踪远程存储库的所有远程分支的本地分支,但这通常不是必需的。

您只需在需要时创建一个跟踪远程分支的本地分支。

代码语言:javascript
复制
git checkout -b aBranch --track origin/aBranch

# or, shorter:
$ git checkout --track origin/aBranch 
Branch aBranch set up to track remote branch refs/remotes/origin/aBranch.
Switched to a new branch "aBranch"  

# even shorter at the end of this answer.

添加--track允许设置配置,将起点分支标记为来自新分支的"“。

这个配置将告诉git在git statusgit branch -v中显示两个分支之间的关系。

此外,当新的分支被签出时,它指示不带参数的git pull从上游拉出。

kostix提到,当从远程分支派生分支时,会隐含--track (除非branch.autosetupmerge设置为false)

这可能就足够了

代码语言:javascript
复制
git checkout aBranch

git checkout man page给出的确切解释是:

如果找不到<branch>,但在一个远程(称为<remote>)中确实存在一个具有匹配名称的跟踪分支,则将其视为等效于:

代码语言:javascript
复制
$ git checkout -b <branch> --track <remote>/<branch
票数 22
EN

Stack Overflow用户

发布于 2015-12-07 18:57:21

有时,如果您没有提取最新的代码,您将不允许签出新创建的branch.Because您的更改是不同步的。

因此,首先从新创建的分支中-pull最新的-checkout

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15721949

复制
相关文章

相似问题

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