当我尝试使用 Egit team > pull 从远程存储库中提取数据时,会出现这个错误
当前分支没有配置为拉取,键没有值 Merge 在配置中找到
本地主分支不是为跟踪远程主分支而设置的。
您可以执行 git pull origin master来告诉 git 要拉取的显式分支,或者将其添加到。Git/config:
git pull origin master
[branch "master"] remote = origin merge = refs/heads/master
当你第一次按下主键时,添加 -u开关(git push -u origin 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 拉将按照预期的方式运行。
您可以自己输入这些键和值,但是复制和粘贴 Michal 显示的内容当然要快得多,而且可能更安全。我实际上并没有尝试通过属性编辑器手动添加键,而且我也不太可能这么做,因为我知道这个方法是有效的,而且有意义,因为 egit 只是简单地调用本地 git repo。
我还支持我办公室里的一些人使用 Flex 和构建在 eclipse 和 egit 之上的 FlexBuilder 编辑器。这些指令与他们同样相关。
同样的问题,我是这样解决的:
最初,我克隆了一个远程回购到我的办公室电脑(我自己的回购,但在一个远程服务器)。然后,我在本地创建了一个新的 repo 项目分支(“测试”) ,并将其推送到远程存储库。克隆远程回购到我的笔记本电脑,切换到“测试”分支,工作等,推,然后回到办公室。当我试图从服务器拉“测试”更改,得到 msg“本地分支没有配置为拉”。
问题是在桌面上,“测试”只是本地的,没有远程 URL 信息,所以不能拉更改。
我解这个 日食内(食点)的方法是:
步骤如下:
注意: 我正在运行 Eclipse 靛蓝。其他版本的步骤可能有所不同。
我只是得到了同样的问题,但接受的答案不适合我。下面是我所做的(尽管我不能确认接受的答案是否会对更新后的配置产生影响) :
从“ Git Repositories”视图展开您的 Git 存储库树。 右键单击“远程”并选择“创建远程” 选择单选按钮“配置获取”-> “确定” 在“ URI”文本框对面选择“更改” 输入您的 git 存储库详细信息,然后单击“ Finish” 选择’保存’
从“ 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。
https://github.com/chelder86/ArcadeTongame.git
The current branch is not configured for pull. No value for key branch.master.merge found in configuration
拉的另一种选择(避免上述错误)是:
这对我很有效:
右键单击我签出的无法拖动的本地分支(我的分支称为“开发”) 选择“配置分支...” 对于“ Upstream Branch:”,我选择了“ refs/head/development” 对于“远程”,我选择了“原点” 未检查“ Rebase” 按 OK 键
现在,我的 config pref 窗口看起来就像 gview 的回答。
要在 Eclipse 中修复此问题,请打开 窗户菜单并选择 显示视图/其他/Git 知识库。
来自 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
您不需要自己找到它,也不需要用文本编辑器打开它。
[分支“主人”]
偏远 = 原产地
合并 = 参考/领导/主人
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 插件时发现的最简单的解决方案如下:
完成这项工作后,分支现在也将正确地配置为 pull。
像下面这样编辑存储库. git 文件夹中的配置文件。
将 https://github.com/your/uri替换为 github 存储库 uri。
https://github.com/your/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 也遇到了同样的问题。但是没有一个办法对我有效。我得到的问题时,我 改变了项目的分支,然后它抛出了这个错误。我试过的解决办法是:
PS: 因为它是一个旧线程,只是更新,因为这可能会发生在其他人身上。
在承诺时,如果遇到这个问题。 试试这个简单的方法:
您的分支被配置为 pull/push。您的代码更改将被推送到存储库。
谢谢