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

Git исправлены ошибки, не связанные с быстрой переадресацией. Слияние удаленных изменений

Как решить эту проблему? Я пытаюсь совершить, но я получаю следующую ошибку.

git push origin monty_svm_dev

To [email protected]:  ! [rejected]        monty_svm_dev -> monty_svm_dev
(non-fast-forward) error: failed to push some refs to
'[email protected]:/mygit.git' To prevent you from losing history,
non-fast-forward updates were rejected Merge the remote changes before
pushing again.  See the 'Note about fast-forwards' section of 'git
push --help' for details. [email protected]:~/mypath#
4b9b3361

Ответ 1

сделать git pull origin monty_svm_dev первый

Что произошло, так это то, что удаленный компьютер имеет более новые изменения, чем ваша ветка.

Итак, прежде чем вы сможете push внести изменения, вам нужно сначала получить и объединить изменения на пульте дистанционного управления.

Вы можете сделать это, выполнив git checkout your_branch, а затем:

git fetch origin your_branch, а затем git merge your_branch

или

git pull origin your_branch # fetch and merge in one operation

Если ваша ветка является хозяином или именем вашей ветки (кажется, я думаю, что monty_svm_dev в вашем случае)

Как только это будет сделано (и все конфликты разрешены), вы можете сделать git push origin monty_svm_dev

Ответ 2

Это в основном потому, что, когда вы

git pull

из ветки, две операции выполняются извлечения и слияния. Теперь, если ваш локальный имеет некоторые изменения, то git не позволит вам нажать его, прежде чем совершать изменения.

Также эта проблема возникает, если на пульте дистанционного управления есть изменения, которые по-прежнему не вытягиваются локально и не сливаются, поэтому вам нужно снова взять тяну, а затем нажать. Ответьте, если он не решит проблему.

Ответ 3

Сделайте Git pull. Затем он приведет к недавним изменениям кода в удаленной ветки в ваш локальный. то вы можете нажать на свои изменения.

Ответ 4

Эта проблема возникает, когда пользователь забывает выдать команду git push после команды git commit. При использовании git всегда выполняйте основные шаги.

В идеальном цикле при работе с git всегда проверяйте, что следующие команды git использовались последовательно в следующем порядке:

git pull
git add
git commit
git push

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

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

pacp (прочитайте его как: pack push где (p = git push, a = git add, ck = git commit, push = git push).

Мой способ запомнить git push, add, commit, pull:

получите пакет push (значение: git пакет, а затем нажмите).

Вкратце запомните "git" пакет, а затем "нажмите".

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

git checkout -- path/to/file/fileName.something #undo changes in file

Приведенное выше отменяет изменения в файле... аналогично может применяться для нескольких файлов, используя * для имени файла, аналогично может применяться к нескольким файлам каталоги, разделенные пробелом.

git reset filename.txt 

Вышеупомянутый удаляет файл с этапа... после этой команды мы можем безопасно выполнить git commit и git будет выполнять только те файлы, в которых мы находимся который означает, что файл filname.txt не будет зафиксирован)

git pull origin your_intended_branch

Изменения объединены с последним из вашего_интенсивного_branch, это в основном объединяет изменения, которые вы совершили, но не нажимали. Как только все будет хорошо, просто сделайте push:

git push