我从Github那里拿到了回购。在执行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如何在不丢失数据或不出现任何异常的情况下解决问题?
发布于 2013-03-31 02:45:37
克隆存储库不会复制本地存储库上的所有远程分支:对于具有大量分支的大型远程存储库,这会用大量分支污染本地名称空间。
我有一个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允许设置配置,将起点分支标记为来自新分支的"“。
这个配置将告诉git在git status和git branch -v中显示两个分支之间的关系。
此外,当新的分支被签出时,它指示不带参数的git pull从上游拉出。
kostix提到,当从远程分支派生分支时,会隐含--track (除非branch.autosetupmerge设置为false)
这可能就足够了
git checkout aBranchgit checkout man page给出的确切解释是:
如果找不到
<branch>,但在一个远程(称为<remote>)中确实存在一个具有匹配名称的跟踪分支,则将其视为等效于:
$ git checkout -b <branch> --track <remote>/<branch发布于 2015-12-07 18:57:21
有时,如果您没有提取最新的代码,您将不允许签出新创建的branch.Because您的更改是不同步的。
因此,首先从新创建的分支中-pull最新的-checkout
https://stackoverflow.com/questions/15721949
复制相似问题