git тягнути з віддаленого, але жодної такої 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.
jevon

7
Інший спосіб «перевірити конфігурацію» для філії є: git branch -vv. Це відображає асоційоване "віддалене" відділення.
offby1

28

У моєму випадку моя локальна філія не була налаштована для відстеження віддаленої гілки. Мені довелося вручну запустити:

git pull origin remotebranch

Потім наступного разу, коли ви робите push "git push -u", щоб налаштувати правильне відстеження.


Те саме стосується, коли ви вперше git init --bare
клонуєте

10

У моєму випадку моя місцева філія та віддалене відділення мали різні регістри.

Щоб вирішити це питання, я видалив свою локальну гілку $ git branch -d branch-name, а потім знову перевірив віддалену гілку, використовуючи $ git fetchі $ git checkout Branch-name.


Його чисте, просте і добре працює. Дякую.
Баласубрамані M

Я отримав цю помилку в рядку cmd. Спробував SmartGit з базою даних і пройшов її.
P.Brian.Mackey

Зробіть це один раз, замість того, щоб видалити гілку та повторно оформити
касу

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 може одночасно містити лише одне із них, завдяки картографуванню файлової системи. Тому я вручну оновив свою конфігурацію, щоб вона відповідала версії сервера, що фактично вирішило проблему "pull":

[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

Потім перевіряйте майстер або все, що потрібно

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.