Eclipse EGIT:当前分支未配置以进行拉取

12
我正在与一位朋友合作制作基于图块的RPG游戏,但他需要离开数周,我们决定使用版本控制/git。现在我开始感到后悔了。经过几个小时的努力,我们设法使它工作到以下程度:
  1. 我在github上创建一个存储库,并添加他作为协作者。
  2. 我在eclipse中将项目提交到git,推送
  3. 他拉取并将其导入到他的工作区
  4. 我进行一些更改,提交并推送,他拉取更改。
  5. 他进行一些更改,成功提交和推送。更改出现在存储库
  6. 我尝试拉取更改,得到错误(参见图像),未成功。
  7. 我进行一些更改,尝试提交,得到错误,未成功。

本质上,我们被锁定在一个他可以更新而我不能的项目中。如果有关系,我是存储库所有者。

尝试“从上游获取”时: "1"

尝试“拉取”时: "2"

提交和推送时: "3"

现在我们几乎被困住了。我们不想使用Skype发送文件,因为在某些时候我们会成为专业人士,这似乎太繁琐了。

如请求的那样: enter image description here


图片已调整大小?如果您想查看更大的图片,请复制图像网址并前往该网址。 - arynaq
请在“Git Repositories”视图中完全展开KLM项目,然后附上截图。 - guido
我们通过从两台计算机中删除项目并重新克隆来使其正常工作,其他所有方法都失败了(包括谷歌/SO上的各种建议)。 - arynaq
这可能是 https://dev59.com/SGoy5IYBdhLWcg3wBJkx 的重复。 - Cerin
2个回答

13

在EGit中,“此分支未配置为拉取”的错误消息是典型的本地创建并推送分支的情况。

这样不会设置该分支的合并部分。
参见“当前分支未配置为拉取,配置文件中没有key branch.master.merge的值

[branch "master"]
  remote = origin
  merge = refs/heads/master
为解决这个问题,一种方法是重命名当前的master分支,并在Git Repositories视图中执行以下操作:
  • 右键单击 "Branches" / "Switch to" / "New Branch"
  • 下拉 "Source ref" 列表,选择 "master" 分支(pull strategy 选择 "merge","Checkout new branch" 勾选)
  • 点击 "finish"

新分支应该已经正确配置。


我在发布之前看过那个SO问题,并尝试了你所建议的方法,但它并没有起作用。 - arynaq
@user948652,在你的代码库中,git config 返回什么?你能看到一个关于 master 合并的部分吗? - VonC
我尝试了一下,但是它不让我操作并显示“分支已存在”(在本地)。我切换到另一个分支,删除了我要操作的本地分支,然后从远程仓库重新拉取代码,这样就解决了。 - iamface

6
我在Eclipse IDE和EGit中使用以下方法解决了这个问题:
1. 打开“Window”->“Show view”->“Other”->“Git”->“Git Repositories”。 2. 在“Git Repositories”视图中右键单击您的存储库,选择“Properties”。 3. 点击“Add Entry…”按钮。 4. 键入:branch.master.remote 5. 值:origin 6. 点击“OK”。 7. 再次点击“Add Entry…”按钮。 8. 键入:branch.master.merge 9. 值:refs/heads/master 10. 点击“OK”。 11. 右键单击您的存储库,选择“Pull”。
顺便说一下,当我从远程拉取时,我正在拉取主分支,并且我的本地分支也是主分支。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接