Я пытаюсь выдвинуть мой проект (все файлы в новом хранилище). Я следую за шагами, но когда я нажимаю с, git push -u origin master
я получаю эту ошибку:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:asantoya/projectnewbies.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.
Я получал эту ошибку много раз и не могу понять, что делать.
git push --force <remote_repository>
работал на меня.Ответы:
Как говорится в сообщении об ошибке:
git pull
прежде чем пытатьсяgit push
. Очевидно, ваш локальный филиал не синхронизирован с вашим филиалом отслеживания.В зависимости от правил проекта и вашего рабочего процесса вы также можете использовать
git pull --rebase
.источник
git push --force origin master
. Если вы сталкивались с подобными проблемами более одного раза в жизни, ваш рабочий процесс проекта нарушается. Компоненты должны разрабатываться в ветвях и объединяться без быстрой пересылки, и если функция «потерпела неудачу», вы должны отменить фиксацию слияния (желательно сначала выполнить тестирование в ветви интеграции, прежде чем объединить компонент с мастером). Хотя понятия не имею об Затмении.git pull origin trunk:master
?ВНИМАНИЕ: никогда не рекомендуется использовать git. Это перезапишет изменения на пульте. Делайте это только в том случае, если вы на 100% знаете, что ваши локальные изменения должны быть переданы на удаленный мастер.
Попробуй это:
git push -f origin master
источник
git help push
: «Это может привести к потере коммитов удаленным репозиторием; используйте его с осторожностью».эта команда хорошо сработала для меня
источник
Я только что получил эту ошибку.
Я создал репозиторий github после создания своего локального репозитория git, поэтому мне нужно было принять изменения в локальный, прежде чем отправлять их в github. В этом случае единственным изменением был файл readme, созданный как необязательный шаг при создании репозитория github.
URL-адрес хранилища можно найти здесь, на странице проекта github:
Я тогда повторно инициализировал (это может не быть необходимым)
Затем нажмите:
источник
Я создал новый репо в GitHub, и у меня была та же проблема, но у него также были проблемы при извлечении, так что это сработало для меня.
источник
ПРЕДУПРЕЖДЕНИЕ:
Переход на '
git pull
' не всегда решение, так что будьте осторожны. Вы можете столкнуться с этой проблемой (той, которая упоминается в Q), если вы намеренно изменили историю своего хранилища. В этом случае git путает ваши изменения истории с новыми изменениями в вашем удаленном репо. Таким образом, вы должны пойти наgit push --force
, потому что вызовgit pull
будет преднамеренно отменять все изменения, которые вы сделали в вашей истории.источник
Если
git pull
это не помогает, то, вероятно, вы выдвинули свои изменения (A) и после этого использовалиgit commit --amend
для добавления еще некоторых изменений (B). Поэтому git думает, что вы можете потерять историю - он интерпретирует B как другой коммит, несмотря на то, что содержит все изменения из A.Если никто не меняет репо после
A
, то вы можете это сделатьgit push --force
.Однако, если есть изменения после
A
другого человека:то вы должны перебазироваться , что лица , изменения от
A
доB
(C
->D
).или исправить проблему вручную. Я еще не думал, как это сделать.
источник
используйте эту команду:
git pull --allow-unrelated-histories <nick name of repository> <branch name>
лайк:
git pull --allow-unrelated-histories origin master
эта ошибка возникает, когда проекты не имеют общего предка.
источник
использовать грубую силу ;-) Скорее всего, вы пытаетесь добавить локальную папку, которую вы создали до создания репозитория в git.
источник
Это потому, что вы сделали некоторые изменения в своем мастере, поэтому проект попросит вас сначала потянуть. Если вы все равно хотите его подтолкнуть, вы можете использовать грубую силу, набрав:
Не забудьте сначала зафиксировать ваши изменения:
источник
Попробуйте эту команду: "git pull origin master"
Это сработало для меня.
Проверьте эту ссылку: https://help.github.com/articles/dealing-with-non-fast-forward-errors
источник
Вам нужно сделать
если вывод что-то вроде:
тогда делай
Убедитесь, что у вас нет ожидающих коммитов, так как проверка потеряет все не зафиксированные изменения.
источник
! [отклонено] мастер -> мастер (без перемотки вперед)
Не паникуйте, это очень легко исправить. Все, что вам нужно сделать, это выполнить тягу, и ваша ветвь будет ускорена:
$ git pull myrepo master
Затем повторите попытку и все должно быть в порядке:
$ git push github master
источник
Это случилось со мной, когда я был в развивающейся ветке, а в моей основной ветке нет последних обновлений.
Поэтому, когда я пытался выполнить команду git push из ветки разработки, у меня была эта ошибка.
Я исправил это, переключившись на главную ветку, git pull, а затем вернулся к разработке ветки и git push.
источник
У меня была эта проблема на машине разработки.
dev
Филиал толкал штраф , ноmaster
ветвь дала мне ( в то время какgit push
ING , когда находясь наdev
ветке):Итак, я попробовал:
Который дал мне:
Я обнаружил, что главная ветка отсутствует,
.git/config
и добавил:После этого
git push
также хорошо работал наdev
ветке.источник
Мой пульт не был синхронизирован с локальным, поэтому у меня это сработало
git pull --rebase
и убедитесь, что когда вы делаете это
git pull
снова, он должен сказать «Уже в курсе», и теперь вы готовы нажать на источникпри условии, что вы уже
git remote add origin remote repository URL
делать
Скриншот говорит обо всем
Или вы можете сделать это
источник
У меня было так же, как вопрос. Я использую Git Totoise. Просто щелкните правой кнопкой мыши -> TotoiseGit -> Очистить. Теперь вы можете подтолкнуть к Github Это работало нормально со мной: D
источник
Это потому, что вы внесли противоречивые изменения в его хозяина. И ваш сервер репозитория не может сказать вам это с этими словами, поэтому он выдает эту ошибку, потому что он не имеет отношения к этим конфликтам для вас, поэтому он просит вас сделать это самостоятельно. Так как ?
1-
git pull
Это объединит ваш код из вашего хранилища с вашим кодом мастера сайта. Так что конфликты проявляются.2- лечить эти конфликты вручную.
3-
И до того, ваша проблема была решена.
источник
Единственное, что мне удалось решить - это удалить локальный репозиторий и репозиторий git и снова создать его на обоих концах. Пока работает отлично.
источник
Если у кого-то есть эта ошибка при попытке нажать на heroku, тогда просто замените 'origin' на 'heroku' следующим образом: git push -f heroku master
источник
Попробуйте это, в моем случае это работает
источник
Это также может быть вызвано некоторой ошибкой имени, возникшей при присвоении имени Репо. Если какой-либо из приведенных выше ответов не сработал. Это сработало для меня:
Удалите этот репозиторий, создайте новый и повторите следующие команды:
если добавление исходных шоу уже существует, используйте вместо этого:
источник