当前分支没有配置为 pull,在配置中找到的关键分支的值为 No

当我尝试使用 Egit team > pull 从远程存储库中提取数据时,会出现这个错误

当前分支没有配置为拉取,键没有值 Merge 在配置中找到

84505 次浏览

本地主分支不是为跟踪远程主分支而设置的。

您可以执行 git pull origin master来告诉 git 要拉取的显式分支,或者将其添加到。Git/config:

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

当你第一次按下主键时,添加 -u开关(git push -u origin master)。这将自动设置一切。

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

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

保存编辑后,右键单击 Git repo 在你的 egit“ Git Repositories”透视图中,并选择属性,你现在会看到这部分键已经被创建(或者更可能只是从配置文件中读取) ,一个远程主机到本地主机 Git 拉将按照预期的方式运行。

enter image description here

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

我还支持我办公室里的一些人使用 Flex 和构建在 eclipse 和 egit 之上的 FlexBuilder 编辑器。这些指令与他们同样相关。

同样的问题,我是这样解决的:

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

问题是在桌面上,“测试”只是本地的,没有远程 URL 信息,所以不能拉更改。

我解这个 日食内(食点)的方法是:

  1. 删除本地分行
  2. 从远程回收中拔出新的分支 树枝。

步骤如下:

  • 转到 Git 存储库探索视角
  • 将本地分支重命名为“ zzz”(偏执狂,在确保正确之前不喜欢删除它!)
  • 右击“分支”,“切换到”,“新分支”
  • 下拉“ Source ref”列表,选择“ testing”分支(拉策略“ merge”,选中“ Checkout new Branch”)
  • 点击“完成”
  • 切换到通常的视角,确保我的文件都在
  • 切换回 Git Repository Explorer 并删除分支“ zzz”

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

我只是得到了同样的问题,但接受的答案不适合我。下面是我所做的(尽管我不能确认接受的答案是否会对更新后的配置产生影响) :

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

右键单击“远程”并选择“创建远程”

选择单选按钮“配置获取”-> “确定”

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

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

选择’保存’

您现在应该能够从远程存储库中提取。

注意-当我尝试“干运行”,我认为这只是一个连接测试失败,但拉仍然工作。

尝试 windows-> Show View-> Navigator。 在“导航器”窗口中,在项目中查找 bin 文件夹 然后将 bin 文件夹提交到 github,希望它能正常工作。 在完成上述所有任务后,尝试拉取它。

我在配置它时也遇到了问题。它现在正在工作,所以我要共享我的配置文件。我认为这会有所帮助:

[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 克隆 URL。

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

的另一种选择(避免上述错误)是:

  1. FETCH 用于更新计算机上的远程分支
  2. MERGE 您的本地分支与您的远程分支 < br > (Team-> MERGE...-> Remote Trace-> 原产地/分公司)

这对我很有效:

右键单击我签出的无法拖动的本地分支(我的分支称为“开发”) 选择“配置分支...” 对于“ Upstream Branch:”,我选择了“ refs/head/development” 对于“远程”,我选择了“原点” 未检查“ Rebase” 按 OK 键

现在,我的 config pref 窗口看起来就像 gview 的回答。

要在 Eclipse 中修复此问题,请打开 窗户菜单并选择 显示视图/其他/Git 知识库

来自 Git Repositories 选项卡:

  • 扩展您的本地存储库
  • 右键单击 遥远
  • 点击 创建远程..。
  • 远程名称 = 起源
  • IRI旁边按下 改变按钮
  • 基于 URI 的 CTRL + SPACE
  • 选择远程位置
  • 结束
  • 保存并推送

同样,来自 Git Repositories 选项卡:

  • 右键单击 起源
  • 选择 配置抓取..。
  • 编辑(高级) ..。
  • 添加所有分支规范
  • 选择 警队最新情况复选框
  • 结束

同样,来自 Git Repositories 选项卡:

  • 右键单击本地存储库
  • 选择 物业
  • 新入口..。
  • 输入以下两个键:

(1)

Key = branch.master.remote
Value = origin

(2)

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

关于 gview 的解决方案:

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

您不需要自己找到它,也不需要用文本编辑器打开它。

  • Window-> Show view-> Other-> GIT-> GIT 仓库
  • 展开您创建的 repo 文件夹。
  • 它将包含一个名为“工作目录”的文件夹。
  • 在“工作目录”文件夹中会有一个名为“ . git”的文件夹,可以展开它。
  • 在“ . git”中有“ config”,右键单击“ config”-> open in Editor。 配置文件将在 Eclipse 中打开,您可以在其中编辑它。我添加了以下内容,现在我可以不出错地拉了:

[分支“主人”]

偏远 = 原产地

合并 = 参考/领导/主人

Git 知识库视图-> + 分支-> 本地-> 选择要分配给远程分支的本地分支-> 右键单击-> 选择远程分支(可能是原始分支)和上游分支

您需要用以下代码替换配置文件。.您的配置文件位于存储库中的“ 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

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

  1. 右键单击该项目并选择 Team > Push Branch
  2. 确保“配置上游推拉”旁边的框是 检查过了
  3. 单击下一步并完成推送。

完成这项工作后,分支现在也将正确地配置为 pull。

像下面这样编辑存储库. 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/*

小贴士: 用点子,忘记日食

我在 Eclipse Neon 也遇到了同样的问题。但是没有一个办法对我有效。我得到的问题时,我 改变了项目的分支,然后它抛出了这个错误。我试过的解决办法是:

  1. 转到 Project/. git/config文件。
  2. 如果 Rebase = false,删除它。
  3. 刷新你的项目。
  4. 做 git 拉或拉从日食。
  5. 错误解决。

PS: 因为它是一个旧线程,只是更新,因为这可能会发生在其他人身上。

在承诺时,如果遇到这个问题。 试试这个简单的方法:

  1. 团队-> 推到上游-一个弹出窗口打开。
  2. 复制您的 URI 并将其粘贴到弹出窗口中。

您的分支被配置为 pull/push。您的代码更改将被推送到存储库。

谢谢