Git push не удалось, " обновления без быстрой перемотки вперед были отклонены"
я редактировал свои репозитории GIT через Git Online. После того, как я попытался нажать мои локальные изменения кода, я получил сообщение об ошибке:
Git push failed, To prevent from losing history, non-fast forward updates were rejected.
Как я могу это исправить?
11 ответов:
добавить --force в командной строке, если вы уверены, что хотите нажать. Например, использовать
git push origin --force
(Я рекомендую в командной строке, как вы найдете гораздо больше поддержки от других пользователей с командной строкой. Также это может быть невозможно с помощью SmartGit.) См. этот сайт для получения дополнительной информации: http://help.github.com/remotes/
перед нажатием, сделать git тянуть с опцией rebase. Это позволит получить изменения, которые вы сделали в интернете (в вашем происхождении) и применить их локально, а затем добавить свои локальные изменения поверх него.
git pull --rebase
теперь, вы можете нажать на пульт
git push
для получения дополнительной информации взгляните на git rebase объяснил и Глава 3.6 Git Ветвление-Перебазирование.
я столкнулся с той же ошибкой, просто добавьте "-- force" к команде, она работает
git push origin master --force
У меня была такая же проблема.
Причина была в том, что мой местный филиал каким-то образом потерял отслеживание до удаленного аналога.после
git branch branch_name --set-upstream-to=origin/branch_name git pull
и разрешая сливающиеся конфликты, я смог нажать.
вы можете добавить -- force-with-lease к команде, она будет работать.
git push --force-with-lease
-- force разрушительно, потому что он безоговорочно перезаписывает удаленный репозиторий с тем, что у вас есть локально. Но -- force-with-lease убедитесь, что вы не перезаписываете чужую работу.
Посмотреть подробнее здесь.
(одно) решение для Netbeans 7.1: попробуйте потянуть. Это, вероятно, также не удастся. Теперь загляните в журналы (они обычно отображаются сейчас в IDE). Есть еще одна / несколько строк, говорящих:
"вытащить не удалось, из-за этого файла:"
поиск этого файла, удалите его (сделайте резервную копию). Обычно это А.gitignore файл, так что вы не будете удалять код. Повторите толчок. Все должно работать нормально.
У меня была такая же проблема. Я решил с
git checkout <name branch> git pull origin <name branch> git push origin <name branch>
Это то, что работал для меня. Его можно найти в документации git здесь
Если вы находитесь на нужной ветке вы можете сделать это:
git fetch origin # Fetches updates made to an online repository git merge origin YOUR_BRANCH_NAME # Merges updates made online with your local work
столкнулся с той же проблемой, чтобы ее решить, выполните следующее
git
команды.
git pull {url} --rebase
git push --set-upstream {url} master
сначала вы должны создать репозиторий на github.
иногда, принимая тянуть из вашего git, голова отделяется. Вы можете проверить это, введя команду:
git branch
(голова отсоединена от 8790704)
мастер
разработки
лучше перейти к вашей ветви и взять свежий тянуть из вашей соответствующей ветви.
git checkout develop git pull origin develop git push origin develop