私は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非表示):
[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
を使用しています
リポジトリの構成では、[remote "Origin"]
セクションの次の行が欠落しているようです。
fetch = +refs/heads/*:refs/remotes/Origin/*
Gitにrefs/heads/
(すべてのブランチ)で始まるすべての参照をフェッチし、ローカルでrefs/remotes/Origin/
の下に保存するように指示します。例えば。リモートリポジトリのrefs/heads/master
はローカルでrefs/remotes/Origin/master
(または略してOrigin/master
)になります。
それを追加して、プルが機能するかどうか試してみてください。
また、このリポジトリを最初に作成/複製した方法を知ることは非常に興味深いでしょう。
Egitを使用するときにも同じ問題に直面し、変更をプルできませんでした。しかし、以前の回答は大いに役立ちました。現在、構成ファイルを更新する方法は2つあります。
ファイルの直接更新:local_repo_location/.git /に移動し、構成ファイルを開いて追加します:
【リモート「オリジン」】
url = YOUR_REPO_URL
プッシュ= ALREADY_FILLED_VALUE
fetch = + refs/heads /:refs/remotes/Origin /
Eclipseを使用した構成の更新:[Windows]-> [設定]-> [チーム]-> [Git]-> [構成]に移動し、[リポジトリ設定]タブで-> [リモート]-> [オリジン]を確認します。問題は、フェッチ用のキーがないことです。次に、[エントリの追加]をクリックし、次のように値を入力します。
キー:remote.Origin.fetch
値:+ refs/heads /:refs/remotes/Origin /
これで完了です。
リモートリポジトリからプルするとエラーが発生するのと同じ問題が発生しました(org.Eclipse.jgit.api.errors.transportexception)
これが私がしたことです
egitの問題については本当に知りませんが、この2つの簡単な手順で私の問題は解決しました。