Ошибка при вытягивании и толкании на github - PullRequest
3 голосов
/ 20 декабря 2011

Я работал над веткой в ​​течение последних нескольких дней, и когда я слил ее и попытался выдвинуть, у меня появились подобные ошибки, может кто-нибудь пролить свет на эту

при нажатии:

To git@github.com:****************/88888888888888888.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:****************/88888888888888888.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

при получении

    error: unable to resolve reference refs/remotes/origin/wishlist: No error
From github.com:****************/88888888888888888
 ! [new branch]      wishlist   -> origin/wishlist  (unable to update local ref)

1 Ответ

3 голосов
/ 20 декабря 2011

О вашей проблеме, GitHub состояния

Устранение ошибок «без ускоренной перемотки вперед»

Время от времени вы можете столкнуться с этой ошибкой при нажатии:

 $ git push origin master To ../remote/  ! [rejected]
 master -> master (non-fast forward)    error: failed to push some refs to '../remote/' 

 To prevent you from losing history, non-fast-forward
 updates were rejected Merge the remote changes before pushing again. 
 See the 'non-fast forward' section of 'git push --help' for details.

Поначалу эта ошибка может быть немного ошеломляющей, не бойтесь. Проще говоря, git не может сделать изменения на пульте без потери коммитов, поэтому он отклоняет push. Обычно это вызвано тем, что другой пользователь нажимает на ту же ветку. Вы можете исправить это, извлекая и объединяя удаленную ветвь, или используя команду pull для одновременного выполнения обоих действий.

В других случаях эта ошибка является результатом деструктивных изменений, внесенных локально с помощью таких команд, как git commit --amend или git rebase. Хотя вы можете переопределить пульт, добавив --force к команде push, делать это следует только в том случае, если вы абсолютно уверены, что это именно то, что вы хотите сделать. Принудительные нажатия могут вызвать проблемы для других пользователей, которые получили удаленная ветка, и считается плохой практикой. Если есть сомнения, не нажимайте силой.


О проблеме извлечения, можете ли вы предоставить дополнительную информацию, используя режим verbose в следующей команде (заменив origin именем вашего пульта)?

git fetch -v origin

EDIT:

Я только что без проблем клонировал ваше GitHub repo . Ваш локальный репозиторий может быть слегка поврежден. Без копии ваших локальных файлов config, packed-refs, logs и refs папки может быть довольно сложно устранить неполадки удаленно.

Однако, есть простой способ исправить проблему с извлечением. Клонируйте свежую новую версию своего репозитория GitHub в другую локальную папку и перезапустите ее оттуда. Это сбросит ваши ссылки и устранит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...