Подтвердить что ты не робот

Невозможно нажать на git репозиторий

Я продолжаю получать это сообщение об ошибке из git во время нажатия, даже если я пытаюсь это сделать после перетаскивания снова и снова:

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '[repo url]'
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.

Вот как выглядит история ветвей:

A---B---C
  |   |
  D   E-F

A initial commit (me)
B some commit (me)
C master
D some commit (other dev)
E remotes/origin/master - Merge branch 'master' of [repo url]
F Local uncommitted changes, not checked into an index

Отсюда, когда я тяну, ничего не приходит. Когда я нажимаю, я получаю ошибку. Как я могу успешно нажать еще раз?

4b9b3361

Ответ 1

У вас должен быть общий предок перед нажатием, самый простой способ - сделать git pull (или git pull --rebase, если вы хотите избежать коммандной фиксации, а rebase не является проблемой для вас).

Ответ 2

У меня была эта точная проблема, это произошло из-за следующего:

Локальная ветвь моей машины (с разным происхождением), которая не была обновлена ​​(и была изменена другим пользователем). Вы должны перейти в ветку, которая не была обновлена ​​(git checkout [branch in question]) и сделать git pull.

Это решило мою проблему. В этом конкретном случае из-за этого сообщения

"! [reject] master → master (non-fast-forward)!"

Вы должны перейти на главную ветку (git master), сделать git pull, а затем вернуться к любой ветки, на которой вы работаете (git checkout whateverBranch), и теперь вы должны иметь возможность сделать без проблем.

Я не уверен, почему это происходит; может быть, что характер нажатия git заключается в проверке всех локальных ветвей, которые не были должным образом обновлены при нажатии.

Ответ 3

Решение вашей проблемы:

  • "Зафиксировать" изменения, чтобы они были привязаны к вашему локальному репозиторию.
  • Затем "Вытяните" код из github/ git server
  • Затем "Нажать" код на сервер github/ git, и вы не столкнетесь с какой-либо проблемой.

Подробнее в разделе "Нажатие ветки" в следующем URL-адресе:

Работа с "немедленными отклонениями вперед"

Надеюсь, что это поможет.

Спасибо