Git нажатие не выполнено, "Непросроченные обновления вперед были отклонены"

Я редактировал репозитории GIT через GIT Online. После того, как я попытался внести изменения в локальный код, у меня появилась ошибка:

Git push failed, To prevent from losing history, non-fast forward updates were rejected.

Как я могу это исправить?

Ответ 1

Перенести изменения сначала:

git pull origin branch_name

Ответ 2

Добавить --force в свою командную строку, если вы уверены, что хотите нажать. Например. используйте git push origin --force (я рекомендую командную строку, так как вы найдете гораздо больше поддержки от других пользователей с помощью командной строки. Также это может быть невозможно с SmartGit.) См. этот сайт для получения дополнительной информации: http://help.github.com/remotes/

Ответ 3

Перед нажатием сделайте git pull с опцией rebase. Это приведет к изменениям, которые вы сделали в Интернете (по своему происхождению), и примените их локально, а затем добавьте локальные изменения поверх него.

git pull --rebase

Теперь вы можете нажать на удаленный

git push 

Для получения дополнительной информации см. Git пояснения к объяснению и Глава 3.6 git Ветвление - ребокс.

Ответ 4

Я столкнулся с той же ошибкой, просто добавьте команду "- force" , она работает

git push origin master --force

Ответ 5

У меня была такая же проблема.
Причина заключалась в том, что мой локальный филиал каким-то образом потерял отслеживание удаленной копии.

После

git branch branch_name --set-upstream-to=origin/branch_name
git pull

и разрешая конфликты слияния, я смог нажать.

Ответ 6

Вы можете добавить --force -with-lease к команде, она будет работать.

git push --force-with-lease

--force разрушителен, потому что он безоговорочно перезаписывает удаленный репозиторий тем, что у вас есть локально. Но --force с арендой гарантирует, что вы не перезапишите другую работу.

Подробнее смотрите здесь.

Ответ 7

(одно) Решение для Netbeans 7.1: Попробуйте тянуть. Это, вероятно, также потерпит неудачу. Теперь просмотрите журналы (они обычно отображаются в среде IDE). Там одна/более строка говорит:

"Не удалось вынуть из-за этого файла:"

Найдите этот файл, удалите его (сделайте резервную копию до). Обычно это файл .gitignore, поэтому вы не будете удалять код. Повторите нажатие. Теперь все должно работать нормально.

Ответ 8

Использование опции --rebase мне помогло.

  • git pull <remote> <branch> --rebase

Затем нажмите на репо.

  • git push <remote> <branch>

Э.Г.

git pull origin master --rebase

git push origin master

Ответ 9

У меня была такая же проблема. Я разрешил с помощью

git checkout <name branch>
git pull origin <name branch>
git push origin <name branch>

Ответ 10

Это то, что сработало для меня. Его можно найти в документации 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

Ответ 11

Обнаружена та же проблема, чтобы решить ее, запустите следующие команды git.

  • git pull {url} --rebase
  • git push --set-upstream {url} master

Сначала вы должны создать репозиторий на github.

Ответ 12

Иногда, выдергивая из своего мерзавца ГОЛОВУ, отсоединяется. Вы можете проверить это, введя команду:

git branch 
  •      

    (HEAD detached from 8790704)

         

    мастер

         разработать

   Лучше перейти в свою ветку и взять новую ветку из своей соответствующей ветки.

git checkout develop

git pull origin develop

git push origin develop