EGIT无法添加GitHub远程源。

7
如果我创建了一个本地仓库,然后创建了一个GitHub仓库,并将其作为远程仓库添加,我会提交到本地,然后推送到远程仓库,但是我无法从远程仓库拉取到本地。如果我使用git bash添加远程仓库,一切都正常,远程仓库已正确配置,我可以从上游拉取、推送和获取,但如果我通过EGIT向本地仓库添加远程仓库,则对于被推送的本地仓库,它从未起作用,也从未获取和合并... 有线索吗?
以下是日志帖子:
错误 Tue Sep 20 10:40:05 BST 2011 当前分支未配置为pull
org.eclipse.jgit.api.errors.InvalidConfigurationException:在配置中未找到关键字branch.master.merge的值 org.eclipse.jgit.api.PullCommand.call(PullCommand.java:189)at org.eclipse.egit.core.op.PullOperation$1.run(PullOperation.java:82) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326) at org.eclipse.egit.core.op.PullOperation.execute(PullOperation.java:104) at org.eclipse.egit.ui.internal.pull.PullOperationUI.execute(PullOperationUI.java:115) at org.eclipse.egit.ui.internal.pull.PullOperationUI$1.run(PullOperationUI.java:90) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

git remote -v 返回什么?当您尝试“从远程拉取到本地”时,会收到什么错误消息? - basicxman
当前分支未配置为pull,键名为“branch.master.merge”的值不存在。 - Paul Verest
4个回答

9

只需将以下内容添加到 .git/config 中,即可从 origin/master 拉取并合并到 master 分支中:

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


还需要拥有以下内容:[remote "origin"] url = https://username@bitbucket.org/username/projectname.git fetch = +refs/heads/:refs/remotes/bitbucket/ merge = refs/heads/master - Ömer Faruk AK

6
你可以在“Git Repositories”选项卡中完成此操作。

窗口 > 显示视图 > 其他... > Git > Git Repositories

展开项目的存储库 > 右键单击“远程” > 创建远程...

1
EGit似乎将拉取和推送设置分开处理。因此,有时在配置了推送之后,拉取可能无法正常工作。 - Paul Verest

1

关于这个问题,有一个讨论提供了一个解决方案,并指向了http://www.eclipse.org/forums/index.php/m/683377/上的一个bugzilla bug报告。

简而言之,问题似乎是Egit系统不知道远程分支与eclipse中的主分支对应,解决方案是将此信息添加到配置文件中。


0

配置文件的更改在我的情况下没有起作用。

所以我在最初的推送后删除了本地项目,然后进行了拉取。现在一切都好了。


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