Получение сообщения об ошибке при отправке на github - Обновления были отклонены, потому что за удаленным удалением находится ветвь

У меня возникла проблема с нажатием на другой пульт героя.

Чтобы проверить себя, я переименовал весь свой каталог проекта в _backup, а затем:

git clone account/repo_name

git remote add repo2 [email protected]:repo2.git

git push repo2 branch_abc:master

Но я все еще получаю

hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and merge the remote changes
hint: (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Я пробовал несколько вопросов и ответов, но не работал у меня, все равно получая ошибку.

Ответ 1

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

$ git push -f [email protected]:<heroku repo name>.git

Помните, что push -f может уничтожить другие изменения разработчиков, если они были отправлены с момента последнего вытаскивания из репо... поэтому всегда используйте с особой осторожностью в командах мульти-разработчиков!
В этом случае heroku всегда находится вниз по течению, а github - это то, где код управляется и поддерживается таким образом, что делает push -f на heroku более безопасным вариантом, который в противном случае был бы.

Ответ 2

Если вы сначала потянете другое репо:

git pull repo2

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

Затем вы можете нажать репо обратно.

Ответ 3

Я всегда большой поклонник использования git pull --rebase, а затем мастера git push origin. Несколько мест, где я работал, так как во многих местах не допускается push -f (особенно в тех местах, где используется bitbucket).

git pull --rebase 
git push origin master

Ребаз будет применять ваши изменения после уже внесенных изменений на удаленный (веб-сайт онлайн). Это видео буквально описывает вашу проблему и решает ее с помощью git pull --rebase https://youtu.be/IhkvMPE9Jxs?t=10m36s