当前分支未配置为在配置中找到的key branch.master.merge的pull No值

Ism*_*ush 163 eclipse git egit

当我尝试使用Egit团队>拉从远程存储库中取出时,我收到此错误

当前分支未配置为在配置中找到的key branch.master.merge的pull No值

Mic*_*jbe 155

您的本地主分支未设置为跟踪远程主分支.

你可以git pull origin master告诉git你想要提取的显式分支,或者你将它添加到你的.git/config:

[branch "master"]
  remote = origin
  merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

当您第一次推送到主控时,添加-u开关(git push -u origin master).这将自动设置所有内容.

  • 但你如何在日食中做到这一点?我相信这个问题被标记为"日食".谢谢!:) (25认同)
  • @jmort253会很棒,如果你用eclipse中的更改细节更新问题来配置它. (16认同)
  • @ jmort253,在我给你留言之后,我四处寻找并发现处理这个问题的最佳方法就是完全按照原始回复的建议行事.Egit从.git/config读取值,因此如上所述使用文本编辑器对其进行编辑,可以解决问题. (9认同)
  • +1谢谢,无论如何.你的回答*做了*帮助,因为事实证明我们没有设置拉动:)一旦我们弄清楚如何在Eclipse中配置它,事情就会聚集在一起.我们现在发现,一旦你绕着它的工作方式绕开它,Git就不会那么痛苦.我们基本上再次检查了存储库并将其配置为pull. (2认同)

gvi*_*iew 64

事实证明,@MichałSzajbe的答案是解决问题的方法.有问题的eclipse键是从egit"工作目录"构建的.如果您遇到此问题,请在该工作目录中找到.git目录,并使用文本编辑器编辑.git/config文件,添加Michal描述的部分.对于我第一次git init并推送到未初始化的远程,创建主分支的情况,这在我的经验中是相当标准的操作.在这种情况下,我没有找到一种方法,即使使用命令行git,也不要进行git pull的手动编辑.

保存编辑后,右键单击egit"Git Repositories"透视图中的git repo,然后选择属性,您将看到已创建此部分键(或者更有可能只是从配置文件中读取)和一个遥控器掌握到本地高手git pull将按预期运行.

在此输入图像描述

您可以自己输入这些键和值,但复制和粘贴Michal显示的内容肯定要快得多,而且可能更安全.我实际上并没有尝试通过属性编辑器手动添加密钥,也不是我可能,因为我知道这种方法有效,并且因为egit只是调用本地git repo而有意义.

我也支持我办公室里的一些人使用Flex和基于eclipse和egit构建的Flexbuilder编辑器.这些说明与他们同样重要.

  • 我没有直接编辑配置文件,但使用上面显示的属性对话框添加了键"branch.master.merge".这也像一个骗局. (7认同)

Mar*_*vic 57

要在Eclipse中解决此问题,请打开Windows菜单,然后选择" 显示视图/其他/Git存储库".

从Git Repositories选项卡:

  • 扩展您的本地存储库
  • 右键单击Remote
  • 点击Create Remote ...
  • 远程名称=原产地
  • IRI旁边按" 更改"按钮
  • CTRL+ SPACE在URI上
  • 选择远程位置
  • 完成
  • 保存并按

再次,从Git Repositories选项卡:

  • 右键点击原点
  • 选择配置获取...
  • 在Ref映射上按编辑(高级)...
  • 添加所有分支规格
  • 选择强制更新复选框
  • 完成

再次,从Git Repositories选项卡:

  • 右键单击本地存储库
  • 选择属性
  • 新条目...
  • 输入以下两个键:

(1)

Key = branch.master.remote
Value = origin
Run Code Online (Sandbox Code Playgroud)

(2)

Key = branch.master.merge
Value = refs/heads/master
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,这是这个问题的最佳答案. (4认同)

Zip*_*184 47

这对我有用:

右键单击我签出的无法拉出的本地分支(我的称为"开发")选择"配置分支..."对于"上游分支:",我选择了"refs/heads/development"对于"Remote:"我选择"origin"左"Rebase"未选中Hit OK

现在我的配置预置窗口看起来像是gview的答案中的那个.

  • 我发现很难找到"配置分支...".我设法通过转到"Git Repositories"视图,扩展分支,本地然后右键单击分支来找到它 (14认同)

che*_*der 18

我也有配置它的问题.它现在正在工作,所以我要分享我的配置文件.我认为这会有所帮助:

[core]
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true

    [branch "master"] 
        remote = origin 
        merge = refs/heads/master 
    [remote "origin"] 
        url = https://github.com/chelder86/ArcadeTongame.git
        fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud)

注意:https://github.com/chelder86/ArcadeTongame.git应替换为您自己的HTTPS克隆URL.


小智 10

同样的问题.这是我在eclipse/egit中解决它的方式:

最初我克隆了一个远程仓库到我的办公室电脑(我自己的仓库,但在远程服务器上).然后我在本地创建了一个新的repo项目分支("testing"),并将其推送到远程仓库.克隆远程回购到我的笔记本电脑,切换到"测试"分支,工作等,推,然后回到办公室.当我试图从服务器拉"测试"更改时,得到msg"本地分支未配置为拉".

问题是在桌面上,"测试"只是本地的,没有远程URL信息,因此无法提取更改.

在eclipse(egit)中解决了这个问题:

  1. 删除本地分支
  2. 从远程仓库拉分支作为新分支.

步骤是:

  • 转到Git Repository Exploring透视图
  • 重命名本地分支"zzz"(偏执,不喜欢删除,直到我确定我做对了!)
  • rt-点击"分支","切换到","新分支"
  • 下拉"Source ref"列表,选择"测试"分支(拉策略"合并","Checkout new branch"选中)
  • 点击"完成"
  • 切换到常规视角,确保我的文件存在
  • 切换回Git Repository探索并删除分支"zzz"

注意:我正在运行Eclipse Indigo.其他版本的步骤可能有所不同.


blu*_*sky 9

我刚刚遇到同样的问题,但接受的答案对我不起作用.这就是我所做的(虽然我无法确认接受的答案是否会产生影响,因为更新的配置仍然存在):

从"Git Repositories"视图扩展您的git存储库树.

右键单击"遥控器"并选择"创建遥控器"

选择单选按钮'配置提取' - >'确定'

在"URI"文本框旁边选择"更改"

输入您的git存储库详细信息,然后单击"完成"

选择"保存"

您现在应该可以从远程存储库中提取.

注意 - 当我尝试'Dry-Run'时,我认为它只是一个连接测试,它失败但拉动仍然有效.