Git push отклонен для перехода на удаленный

#git #git-push

Вопрос:

Я пытаюсь перейти в свой репозиторий GitHub, при необходимости ссылаться на свой репозиторий GitHub

 To https://github.com/laukomatic/RL-k_armed_bandit.git                                                             
 ! [rejected]        main -> main (non-fast-forward)
                                                                   error: failed to push some refs to https://github.com/laukomatic/RL-k_armed_bandit.git
                               hint: Updates were rejected because a pushed branch tip is behind its remote
                                         hint: See the Note about fast-forwards in git push --help for details.
                                               From https://github.com/laukomatic/RL-k_armed_bandit
 

Чем я пытался потянуть, чтобы обновить с:
git pull origin main .
Но это не сработало, сказал он:

  * branch            main       -> FETCH_HEAD                                              
                          Already up to date.
 

когда я попробовал: git status , это дало:

 On branch master                                                                           
 nothing to commit, working tree clean
 

Но его все равно невозможно подтолкнуть.

Я уже сделал git add . это и git commit -m "some message" .

Кроме того, если это поможет, я полный новичок, я смотрел один технический урок с Тимом. Также, когда я впервые перешел в удаленный репозиторий, я перешел с помощью Plotting_results. Который был создан как проверка. Чем я обновил его с помощью master checkout.

Ответ №1:

Здесь есть две разные проблемы. Во-первых, вы создали файл README непосредственно на GitHub после того, как уже отправили четыре коммита на main GitHub. Итак, теперь у GitHub есть эта фиксация (7d1e6cb9f61b0fd7e2b86207577705b1d0c22cc7), а у вас ее нет. Поэтому вы не можете нажимать, пока не перенесете этот коммит в свой локальный.

Другая проблема заключается в том, что вы работаете master в своем местном, но master на GitHub ее нет. Вы сказали git pull origin main , и это заставляет main вас сливаться с вашим master . Это грязное несоответствие и чертовски сбивает вас с толку. Если вы хотите иметь возможность переходить с локального на main , вам нужно подключиться main и перейти main с GitHub, а затем перейти на main . Вам следует избавиться от master них локально, чтобы вы не путались в том, где вы находитесь и что делаете.

Комментарии:

1. Почти все, что касается вашей ситуации, обсуждается в моей статье biteinteractive.com/of-git-and-github-master-and-main