Git push reject: ошибка: не удалось нажать несколько ссылок
Я знаю, что люди задавали подобные вопросы, но я считаю, что причины их проблем будут разными. Я сделал жесткий reset, потому что я испортил свой код довольно плохо
git reset --hard 41651df8fc9
Я внес некоторые изменения, я сделал некоторые коммиты и теперь, когда я пытаюсь вытолкнуть все эти коммиты на сервер, я получаю следующую ошибку:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]'
Git предлагает сделать git pull и что другие люди предложили другим пользователям. Тем не менее, я считаю, что притяжение git будет объединять мой текущий код с кодом, который мне больше не нужен (пересмотр главы).
Как я могу сделать толчок и забыть о версии/ревизиях впереди?
Ответы
Ответ 1
git push -f
, если у вас есть разрешение, но это испортит всех, кто вытащит из этого репо, поэтому будьте осторожны.
Если это отрицается, и у вас есть доступ к серверу, как указано ниже, вы можете разрешить это на сервере с помощью
git config receive.denyNonFastForwards false
Ответ 2
Если вы единственный человек, работающий над проектом, то вы можете сделать это:
git checkout master
git push origin +HEAD
Это установит вершину начала/ведущего на тот же фиксатор, что и мастер (, и поэтому удалите фиксации между 41651df и origin/master)
Ответ 3
Просто сделай
git pull origin [branch]
а затем вы сможете нажать.
Если вы совершили ошибку самостоятельно и не нажимали на нее, попробуйте
git pull --rebase origin [branch]
а затем вы сможете нажать.
Ответ 4
'удаленный: ошибка: отказ от быстрого переадресации /head/master (вы должны сначала вытащите)
В этом сообщении говорится, что на сервере есть крючок, который отклоняет быструю перемотку вперед. Да, обычно это не рекомендуется и является хорошим защитником, но поскольку вы единственный, кто его использует, и вы хотите сделать силовое нажатие, обратитесь к администратору репо, чтобы разрешить немедленное нажатие, временно удалив перехватить или дать вам разрешение на крючок для этого.
Ответ 5
Что я сделал для решения проблемы:
git pull origin [branch]
git push origin [branch]
Также убедитесь, что вы указываете на правильную ветвь, запустив:
git remote set-url origin [url]
Ответ 6
Я сделал следующие шаги, чтобы решить проблему. На ветке, которая давала мне ошибку:
-
git pull origin [branch-name]<current branch>
- После вытащил, получил некоторые проблемы слияния, решил их, перенес изменения в ту же ветку.
- Создал запрос Pull с выдвинутой веткой... Тада, Мои изменения отражали, все они.
Ответ 7
у меня слежка сработала, просто запускал эти команды одну за другой
git pull -r мастер происхождения
git push -f origin your_branch