О вашей проблеме, 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 в другую локальную папку и перезапустите ее оттуда. Это сбросит ваши ссылки и устранит вашу проблему.