我有两个分支,master
在mybranch
一个 git 存储库中。在添加第二个分支之前从 git 存储库克隆的本地文件夹中,我只能看到第一个分支,如预期的那样:
xxx$ git branch
* master
在尝试获取另一个分支时,我尝试过
xxx$git branch --track mybranch
返回
Branch origin/mybranch set up to track local branch master
这不是我想要的,因为据我所知,我现在的本地分支机构mybranch
与master
(对吗?)相同。
所以我有两个问题:
如何删除这个本地分支?
我怎样才能真正获取远程分支
mybranch
?
编辑我不想结帐mybranch
,我只想取。
编辑 2
在我创建分支的工作区 w2 中(我克隆了存储库,创建mybranch
并推送它:
$ git branch -vv
master c417738 [origin/master] <latest commit msg>
* mybranch 0c7dbac <latest commit msg>
在初始工作区 w1 (我第一次推送的地方master
)
$ git branch -vv
* master 66bb412 <latest commit msg>
现在,如果我在 w1 中进行提取:
$ git fetch
我仍然只有master
:
$ git branch -vv
* master 66bb412 <latest commit msg>
但是如果我检查我的远程分支,两者都master
存在mybranch
:
$ git branch -r
origin/master
origin/mybranch
所以fetch
没有像我预期的那样从所有分支中获取数据......
编辑 3
现在,按照 Klas Mellbourn 的指示,我做了:
git branch mybranch
并将这些行添加到我的 conf 文件中:
[branch "mybranch"]
remote = origin
merge = refs/heads/mybranch
现在检查我的分支,我得到:
$ git branch -vv
* master 66bb412 <latest commit msg>
mybranch 66bb412 [origin/mybranch: ahead 3, behind 8] <latest commit msg from master (?)>
为什么指定的提交与指定的提交mybranch
相同master
?为什么它指定与master
's 相同的提交号?