リモートからのgit pullですが、そのようなrefはフェッチされませんでしたか?


69

ディスクにgitミラーがあり、git pullでレポジトリを更新しようとすると、エラーメッセージが表示されます。

 Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched.

それはまた私に与えます:

  1ce6dac..a5ab7de  3.4/bfq    -> origin/3.4/bfq
  fa52ab1..f5d387e  3.4/master -> origin/3.4/master
  398cc33..1c3000a  3.4/upstream-updates -> origin/3.4/upstream-updates
  d01630e..6b612f7  3.7/master -> origin/3.7/master
  491e78a..f49f47f  3.7/misc   -> origin/3.7/misc
  5b7be63..356d8c6  3.7/upstream-updates -> origin/3.7/upstream-updates
  636753a..027c1f3  3.8/master -> origin/3.8/master
  b8e524c..cfcf7b5  3.8/misc   -> origin/3.8/misc
  * [neuer Zweig]     3.8/upstream-updates -> origin/3.8/upstream-updates

make menuconfigを実行すると、Linuxバージョン3.5.7が表示されますか?これは何を意味するのでしょうか?リポジトリを更新するにはどうすればよいですか?

回答:


58

現在のブランチを確認し(git branch)、そのブランチの構成を確認し()、.../.git/configおそらく間違ったブランチにあるか、その構成が(現在?)存在しないリモートブランチとマージするように指示しています。


22
ローカルリポジトリに存在しないリモートブランチ参照を削除するには、を使用しますgit remote prune origin
ジェボン14

7
ブランチの「構成を確認する」別の方法は次のとおりgit branch -vvです。ブランチに関連付けられた「リモート」が表示されます。
offby1

28

私の場合、ローカルブランチはリモートブランチを追跡するように設定されていませんでした。私は手動で実行する必要がありました:

git pull origin remotebranch

次に、次にプッシュを実行するときに「git push -u」を実行して、正しいトラッキングを設定します。


空のgit init --bare
レポジトリ

10

私の場合、ローカルブランチとリモートブランチでは大文字と小文字が異なります。

これを解決するためにローカルブランチを削除し、と$ git branch -d branch-nameを使用してリモートブランチを再度チェックアウトしました。$ git fetch$ git checkout Branch-name


そのきれいで、シンプルで、うまく機能します。ありがとうございました。
バラスブラマニM

cmd行でこのエラーが発生しました。リベースでSmartGitを試し、それを乗り越えました。
P.Brian.Mackey

この度の代わりに、削除ブランチと再チェックアウト枝の一つ一つの時間を実行します:正しい総額をご/.git/configに
wz366

2

チームの他の誰かがあなたのブランチを単にマージして削除した可能性があります(通常はマージ後に行われます)。リポジトリにブランチを作成して、再試行できます。私の会社ではたまに起こることがあります(bitbucketはデフォルトでマージと削除を行います)。


1

私の場合(通常の警告)、すでに適切な名前のブランチがあったのでremote = origin、.git / config に追加するだけでした:

[branch "sparql"]
    merge = refs/heads/sparql
    remote = origin # <-- added


1

ディスク容量が不足しているときにも同じエラーが発生しました。ボリュームのサイズを変更した後、エラーはなくなりました。


0

この問題は、Windowsで発生するケーシングの問題が原因で発生しました。

私のGit設定は次のようになりました。

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/Bug/some_branch

サーバーでは、「バグ」と「バグ」の両方が複数のブランチの一部として存在していました。ただし、ファイルシステムマッピングのため、Windowsは一度に1つしか保持できません。したがって、サーバーのバージョンと一致するように構成を手動で更新し、実際にプルの問題を解決しました。

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/bug/some_branch

0

ブランチがなくなった場合、

$ git status
On branch blah_gone_now
Your branch is based on 'origin/1234/blah_gone_now', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

$ git branch --unset-upstream

その後、マスターまたは必要なものをチェックアウトします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.