Получение сообщения об ошибке при отправке на 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