git uzaktan çekip al, ancak böyle bir referans alınmadı mı?


69

Diskimde bir git aynası var ve repo'yu git pull ile güncellemek istediğimde bana hata mesajı veriyor:

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

Ayrıca bana verir:

  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 komutunu çalıştırdığımda bana Linux 3.5.7 sürümünü veriyor. Ne anlama geliyor? Depoumu nasıl güncelleyebilirim?

Yanıtlar:


58

Bulunduğunuz şubeyi ( git branch) kontrol edin, o şubenin konfigürasyonunu kontrol edin (in .../.git/config), muhtemelen yanlış şubedesiniz veya konfigürasyonunuz (şimdi?) Olmayan bir uzak şubeyle birleşmesini söylüyor.


22
Yerel depodaki varolmayan uzak dal referanslarını kaldırmak için kullanın git remote prune origin.
jevon

7
Bir şube için "yapılandırmasını kontrol" bir başka yolu ise: git branch -vv. Dalın ilişkili "uzak" olduğunu gösterir.
offby1

28

Benim durumumda, yerel şubem uzak şubeyi izlemeye ayarlanmadı. Manuel olarak çalıştırmam gerekiyordu:

git pull origin remotebranch

Sonra bir dahaki sefere bir itme yaptığınızda, doğru izleme ayarlamak için "git push -u" yapın.


Aynı şey boş bir git init --bare
repoyu

10

Benim durumumda, yerel şubem ve uzak şubem farklı büyük harf kullandı.

Bu sorunu çözmek için benim yerel şube silinen $ git branch -d branch-name, sonra kullanarak uzak şube tekrar teslim $ git fetchve $ git checkout Branch-name.


Temiz, basit ve iyi çalışıyor. Teşekkür ederim.
Balasubramani M,

Bu hatayı cmd çizgisinde aldım. SmartGit'i bir rebase ile denedim ve geçti.
P.Brian.Mackey

Bunu her defasında bir kez silme ve geri ödeme şubesi yerine bir kez yapın: /.git/config
wz366

2

Ekibinizdeki bir başkası şubenizi birleştirip silmiş (genellikle birleşme işleminden sonra yapılan) silebilir. Şubeyi repo üzerinde yapabilir ve tekrar deneyebilirsiniz. Bu arada benim şirketimde oluyor (bitbucket varsayılan olarak birleştirme ve silme).


1

Benim durumumda (normal ihtar), zaten uygun ismin bir dalına remote = originsahiptim , bu yüzden sadece .git / config dosyasına eklemek zorunda kaldım:

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


1

Disk alanım tükenirken de aynı hatayı yaşadım. Birimi yeniden boyutlandırdıktan sonra hata giderildi.


0

Bu sorunu, Windows'ta kendini gösteren bir kaset sorunu nedeniyle aldım.

Git yapılandırmam şuna benziyordu:

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

Sunucuda, hem "Hata" hem de "hata" birden fazla dalın parçası olarak mevcuttu. Dosya sistemi eşlemesi nedeniyle Windows, bunlardan yalnızca bir tanesini tutabilir. Bu nedenle, yapılandırma sorunumu, çekme sorununu çözen sunucu sürümüyle eşleşecek şekilde el ile güncelleştirdim:

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

0

Şube gitti ise,

$ 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

Öyleyse ödeme uzmanı veya neye ihtiyacınız varsa

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.