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

时间:2012-01-11 14:09:40

标签: eclipse git egit

当我尝试使用Egit团队> pull

从远程存储库中提取时出现此错误
  

当前分支未配置为拉取No值   在配置

中找到branch.master.merge

17 个答案:

答案 0 :(得分:155)

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

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

[branch "master"]
  remote = origin
  merge = refs/heads/master

第一次推送到掌握时,添加-u开关(git push -u origin master)。这将自动设置所有内容。

答案 1 :(得分:63)

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

保存编辑后,右键单击您的“Git Repositories”透视图中的git repo,然后选择属性,您将看到已创建此部分键(或者更有可能只是从配置文件中读取)并且远程主机到本地主机git pull将按预期运行。

enter image description here

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

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

答案 2 :(得分:55)

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

从Git Repositories选项卡:

  • 展开您的本地存储库
  • 右键点击远程
  • 点击创建远程...
  • 远程名称=来源
  • 旁边的
  • 更改按钮
  • URI上的
  • CTRL + SPACE
  • 选择远程位置
  • 完成
  • 保存并按

再次,从Git Repositories选项卡:

  • 右键点击来源
  • 选择配置提取...
  • 在参考映射上按编辑(高级)...
  • 添加所有分支规范
  • 选择强制更新复选框
  • 完成

再次,从Git Repositories选项卡:

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

(1)

Key = branch.master.remote
Value = origin

(2)

Key = branch.master.merge
Value = refs/heads/master

答案 3 :(得分:47)

这对我有用:

右键单击我签出的无法拉出的本地分支(我的称为“开发”) 选择“配置分支...” 对于“上游分支:”,我选择了“refs / heads / development” 对于“远程:”我选择了“原点” 左“Rebase”未经检查 点击确定

现在我的配置预置窗口看起来像是gview的答案。

答案 4 :(得分: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/*

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

答案 5 :(得分:10)

同样的问题。以下是我在eclipse / egit中解决它的方法

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

问题是在桌面上,“测试”仅限本地,没有远程URL信息,因此无法进行更改。

我在eclipse(egit)中通过:

解决了这个
  1. 删除本地分支
  2. 从远程仓库拉出分支作为新的 分支。
  3. 步骤是:

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

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

答案 6 :(得分:9)

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

  

从“Git Repositories”视图扩展您的git存储库树。

     

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

     

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

     

在“URI”文本框对面选择“更改”

     

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

     

选择“保存”

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

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

答案 7 :(得分:3)

关于gview的解决方案:

then find the .git directory in that working directory and edit the .git/config file with a text editor

您无需亲自查找或使用文本编辑器打开它。

  • 窗口 - >显示视图 - >其他 - > GIT - > Git存储库
  • 展开您创建的repo文件夹。
  • 它将包含一个名为“Working Directory”的文件夹展开它。
  • “工作目录”文件夹中将有一个名为“.git”的文件夹展开它。
  • 在“.git”里面会有“config”,右键点击“config” - >在编辑中打开。 配置文件将在Eclipse中打开,您可以在其中进行编辑。我添加了以下内容,现在我可以毫无错误地提取:

[branch“master”]

remote = origin

merge = refs / heads / master

答案 8 :(得分:2)

我发现使用eclispe工作(这当然不是正确的方法,但它有效):推送到远程存储库,删除本地工作区和存储库,使用导入对话框从git导入。导入向导负责设置所有内容以备将来使用。

答案 9 :(得分:2)

git repository view - > +分支 - >本地 - >选择要分配给远程分支的本地分支 - >右键单击 - >选择遥控器(可能是原点)和上游分支

答案 10 :(得分:2)

The current branch is not configured for pull.
No value for key branch.master.merge found in configuration

PULL (避免上述错误)的替代方法是:

  1. FETCH 更新计算机上的远程分支
  2. 使用远程分支的本地分支的
  3. MERGE (团队 - >合并... - >远程跟踪 - > 来源/分支

答案 11 :(得分:2)

尝试使用windows-> Show View-> Navigator。 在Navigator窗口中,找到项目中的bin文件夹 然后将bin文件夹提交到github并希望它运行良好。 在完成上述所有任务后尝试拉取或取出它。

答案 12 :(得分:1)

我在使用Eclipse Git插件时发现的最简单的解决方案如下:

  1. 右键单击该项目,然后选择Team>推分支
  2. 确保"配置上游旁边的框以进行推拉"是 检查
  3. 点击下一步并完成推送。
  4. 完成此操作后,分支现在也将正确配置为拉动。

答案 13 :(得分:1)

编辑您的存储库.git文件夹中的配置文件。

https://github.com/your/uri替换为您的github存储库uri。

祝你好运。

[core]
    symlinks = false
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "origin"]
    url = https://github.com/your/uri
    fetch = +refs/heads/*:refs/remotes/origin/*

ps:使用想法,忘记日食

答案 14 :(得分:0)

您需要使用此代码替换配置文件..您的配置文件位于存储库中的“git”文件夹中。 'git'文件夹是隐藏的,所以首先你必须显示隐藏的文件。打开配置文件并编写以下代码: -

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true


hideDotFiles = dotGitOnly
[remote "origin"]
url = 'url to the git repository that you want to pull'
fetch = 

+refs/heads/*:refs/remotes/origin/*
puttykeyfile = 
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal


geometry = 887x427+66+66 171 192

答案 15 :(得分:0)

我在Eclipse Neon中遇到了同样的问题。但是,没有一种解决方案对我有用。我更改了项目的分支后遇到了问题,然后抛出了此错误。我尝试的解决方案是:

  1. 转到 project / .git / config 文件。
  2. 如果 rebase = false ,请将其删除。
  3. 刷新您的项目。
  4. 进行git pull还是从eclipse中拉出。
  5. 错误已解决。

PS:由于它是旧线程,因此仅进行更新,因为它可能会被其他人使用。

答案 16 :(得分:0)

在提交时,如果遇到此问题。 试试这个简单的方法:

  1. 团队->推送到上游-弹出窗口。
  2. 复制您的URI并粘贴到该弹出窗口中。

您的分支配置为拉/推。您所做的代码更改将被推送到存储库中。

谢谢