Я не могу нажать свой код и продолжаю получать ту же ошибку, независимо от того, что я делаю - PullRequest
0 голосов
/ 28 января 2019

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

! [rejected] (non-fast-forward)
error: failed to push some refs to 'git@github.com:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details

Я думаю, что это могло быть вызвано тем, что я исправил опечатку в своем README.mdна github, а не через мою местную среду.

Я просмотрел переполнение стека и попробовал команды, которые они упомянули для этой проблемы, такие как git pull, git pull --rebase, git pull origin master, git push --f и многие другие, но безрезультатно.

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

Обновления были отклонены, так как подсказка вашей текущей ветки находится за подсказкой: ее удаленный аналог.Интегрируйте удаленные изменения (например, [дубликаты]

Невозможно отправить в GitHub - постоянно говорится, что нужно объединить

Git вытянуть определенную ветку из GitHub

Я также пытался git pull upstream master, и я получаю эту ошибку:

fatal: 'upstream' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Ответы [ 3 ]

0 голосов
/ 28 января 2019

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

Попробуйте сначала вернуться к нему:

git checkout master
git fetch
git pull origin master

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

0 голосов
/ 28 января 2019

Проблема решена:

Я добавил еще одно изменение, сохранил его в своей локальной среде и сделал следующее:

git stash

git pull origin <branch-name> -v

git add .

git commit

git push origin <branch-name>

0 голосов
/ 28 января 2019

Прежде всего используйте команду для резервного копирования вашего кода: git stash.

Затем используйте команду git pull или git pull upstream master, если у вас есть какой-либо восходящий набор (я полагаю, у вас есть).

Слияние изменений из мастера с вашим локальным Git merge upstream / master.

git push

Теперь, если вы откроете свою ветку в браузере, вы увидите сообщение, что «ваша ветка синхронизирована смастер".** Это всегда должно оставаться в синхронизации.**

Теперь используйте команду git stash pop, чтобы вернуть ваши изменения и зафиксировать.

...