gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:27:23 27 4
gpt4 key购买 nike

我从 Github 上 fork 了一个 repo。在执行 git remote -v 时它显示:

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(显示所有分支)时,我得到:

  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

如何在不丢失任何数据或出现任何违规行为的情况下解决我的问题?

最佳答案

克隆一个 repo 不会复制本地 repo 上的所有远程分支:对于一个有很多分支的大型远程 repo,这会用大量分支污染你的本地命名空间。

我有一个 one-liner command为了创建本地分支跟踪远程仓库的所有远程分支,但这通常是不需要的。
您只需在需要时创建一个本地分支来跟踪远程分支。

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允许设置配置以将起点分支标记为新分支的“ upstream ”。
此配置将告诉 git 在 git status 中显示两个分支之间的关系和 git branch -v .
此外,当新分支被 check out 时,它指示不带参数的 git pull 从上游 pull 。


kostix提到--track在从远程分支 fork 分支时隐含(除非 branch.autosetupmerge 设置为 false )

这就够了

git checkout aBranch

确切解释来自 git checkout man page是:

If <branch> is not found but there does exist a tracking branch in exactly one remote (call it <remote>) with a matching name, treat as equivalent to:

$ git checkout -b <branch> --track <remote>/<branch

关于Git 没有显示本地的所有分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15721949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com