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

Развертывание героя с помощью git продолжает отклоняться из-за быстрого перехода вперед

Я продолжаю получать следующий сбой с heroku + git...

$ heroku jammit:deploy --app XXXXXXXXXXX
===== Compiling assets...[OK]
===== Commiting assets...[OK]
===== Done...
===== Deploying assets for xxxxx-staging to heroku...
To [email protected]:XXXXXXXX.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:xxx-staging.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.
[FAIL]
===== Done...
===== Deleting compiled assets...[OK]
===== Commiting deleted assets...[OK]
===== Done...
$ git pull
Already up-to-date.

Любые идеи, что я делаю неправильно или должны делать по-другому, чтобы позволить нажимать, не нажимая кнопку?

Спасибо

4b9b3361

Ответ 1

Просто принудийте фиксацию каждый раз, когда вы нажимаете, и она будет толкать ее, даже если есть перемотка вперед. Мы делаем это в нашем развитии сервера Heroku все время, так как мы все подталкиваем разные коммиты (некоторые дальше позади, чем другие).

git push -f [email protected]:picasso-staging.git

Я не использую jammit для развертывания, но вы, вероятно, могли бы уйти с силой, нажав сначала, а затем запустить вторую задачу jammit. Или проверьте и проверьте, поддерживает ли jammit флаг принудительного нажатия.

Ответ 2

git push -f REMOTE BRANCH:master #or just master

Принудительно! Замените REMOTE вашим удаленным именем heroku (git remote -v, чтобы просмотреть все пульты). Замените BRANCH веткой, которую вы хотите надавить, или просто поставьте "master" для главной ветки.

Ответ 3

Проблема в том, что изменения уже были перенесены, и ваша фиксация за этими новыми нажатиями. Я предполагаю, что у вас есть ветвь мастера и ветка вашей функции, пусть она называется my_feature. Вы можете сделать это и быть в порядке:

git checkout master
git pull
git checkout my_feature
git rebase master
    (you may have to fix some conflicts here, if any are found)
git checkout master
git merge my_feature
git push heroku

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