我正在使用EGit,我将更改提交到我的本地git存储库。
我想将此更改推送到遥控器。 执行此操作时,会弹出一个对话框屏幕,显示"rejected-master-master-non-fast-forward"。这个相关问题的答案表明我必须先拉。
执行拉取时,抛出EGit异常:
org.eclipse.jgit.api.errors.TransportException: Nothing to fetch.
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:139)
at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:253)
at org.eclipse.egit.core.op.PullOperation$1.run(PullOperation.java:97)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
at org.eclipse.egit.core.op.PullOperation.execute(PullOperation.java:128)
at org.eclipse.egit.ui.internal.pull.PullOperationUI.execute(PullOperationUI.java:139)
at org.eclipse.egit.ui.internal.pull.PullOperationUI$1.runInWorkspace(PullOperationUI.java:114)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.eclipse.jgit.errors.TransportException: Nothing to fetch.
at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1087)
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:130)
... 8 more
好像我被卡住了。谁能帮助我?
的更新
我的存储库中的.git/config
文件包含(远程URL hid):
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "origin"]
url = <URL_HIDDEN>
我正在使用Eclipse Git Team Provider 3.4.1.201406201815
答案 0 :(得分:25)
存储库的配置似乎在[remote "origin"]
部分中忽略了这一行:
fetch = +refs/heads/*:refs/remotes/origin/*
它告诉git获取以refs/heads/
(所有分支)开头的所有引用,并将它们存储在refs/remotes/origin/
本地。例如。远程存储库中的refs/heads/master
将在本地变为refs/remotes/origin/master
(或简称为origin/master
)。
你可以添加它并尝试拉动吗?
此外,了解您首次创建/克隆此存储库的方式非常有趣。
答案 1 :(得分:3)
使用egit时我也遇到了同样的问题,无法进行更改。但之前的回答帮了很多忙。现在,有两种方法可以更新配置文件。
文件中的直接更新:转到local_repo_location / .git /并打开配置文件并添加:
[remote&#34; origin&#34;]
url = YOUR_REPO_URL
push = ALREADY_FILLED_VALUE
fetch = + refs / heads / :refs / remotes / origin /
使用eclipse更新配置:转到Windows - &gt;偏好 - &gt;团队 - &gt; Git - &gt;配置,现在在Repository Settings选项卡下,查看 - &gt;遥控 - &gt;起源。 问题是没有获取密钥。 现在单击:添加条目并提供如下值:
密钥:remote.origin.fetch
值:+ refs / heads / :refs / remotes / origin /
现在我们完成了。
答案 2 :(得分:1)
我遇到同样的问题从远程仓库拉出错误(org.eclipse.jgit.api.errors.transportexception)
这就是我做的事情
我真的不知道自己的问题,但这两个简单的步骤解决了我的问题,希望有所帮助