我在eclipse juno中使用EGit 2.1.0。
在存储库中,我右键单击远程跟踪文件夹中的 origin / master 分支,然后创建一个新分支:
Source ref: refs/remotes/origin/master
Branch name: refs/heads/MyFeature
Merge=true
Checkout=true
所以 MyFeature 分支在创建时 origin / master 的内容基于 。因此,在本地文件夹中创建了本地分支 MyFeature 。
如果我配置分支是说:
Upstream Branch: refs/heads/master
Remote: origin
我对这最后一部分感到困惑。 MyFeature 分支基于 origin / master 。为什么默认从本地主分支而不是远程主分支(它所基于的)中提取更改?
您可以从命令行执行以下操作:
$ git branch --track MyFeature origin/master
Branch MyFeature set up to track remote branch refs/remotes/origin/master.
答案 0 :(得分:3)
'上游分支'表示上游存储库中的分支。 “refs/heads/master
”中的origin
是另一种(更长但更精确)说“origin/master
”的方式。
答案 1 :(得分:1)
如果您检查.git / config文件或运行git config -l,那么您将看到以下内容:
branch.MyFeature.remote=origin
branch.MyFeature.merge=refs/heads/master
这意味着您的MyFeature分支会跟踪您的原始遥控器的refs / heads / master ref(简称主分支)。在这种情况下,refs / heads / master并不意味着你的本地refs / heads / master,而是从你的远程角度来看。所以当你从遥控器上取/拉它时会发出如下信息:“亲爱的来源!请把你的参考/头/主人送给我。谢谢。” :)