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

Как reset приложение Heroku и все еще переписывать?

Я создаю приложение, которое я также тестирую в Heroku. Сегодня я столкнулся с какой-то проблемой и должен был откат одного коммита в локальном репозитории git, но Heroku теперь не узнает мои изменения, говоря, что "все в актуальном состоянии".

Итак, запустив

git push heroku master

heroku отвечает

Everything up-to-date

что неверно.

ОБНОВЛЕНИЕ: что я пробовал

git push -f heroku master
git push --force heroku master
git push heroku +master
git push --force heroku +master

Сделали некоторые изменения в исходном коде, а затем

git add.
git commit -a -m "Message" #(Then this commit shows in my git explorer)
git push heroku master #Everything up-to-date
4b9b3361

Ответ 1

Звучит странно. Может быть, попробуйте нажать другую ветку?

git branch production
git checkout production
#do some code changes
git commit -am "some desperate code changes to try fix heroku"
git push heroku production:master

Создание новой производственной ветки - это то, что я хочу проверить. Кроме того, приятно иметь производственную ветвь, которую можно использовать для развертывания.

Если это не сработает, я думаю, что проблема глубже и вам нужна помощь от герою.

EDIT: Добавьте админу выпусков heroku. Откат назад так же просто, как heroku rollback

Ответ 2

Это не работает во всех ситуациях, но если ваше местное репо отклонилось от репо Heroku таким образом, что git не может понять, как согласовать эти два типа, например, если вы пересобили свою локальную ветвь после того, как она была нажал на Heroku - вы можете принудительно нажать, положив знак плюса + перед ref, например:

git push heroku +master

В вашем случае это может не сработать, но стоит попробовать.

Ответ 3

Это сработало для меня (от https://coderwall.com/p/okrlzg):

  • Выполнить heroku plugins:install https://github.com/lstoll/heroku-repo.git
  • heroku repo:reset -a APPNAME

Оттуда репозиторий git был "reset". Затем запустите:

  • git push heroku master -a APPNAME

для размещения репозитория git и повторного развертывания вашего приложения.

Ответ 4

Предположим, что вы откат назад, вы совершаете удаленно, что ранее существовало. Я думаю, вы должны сделать:

git merge heroku/master

Если вы просто хотите идти вперед

или

git push --force heroku master

если вы хотите нажать это изменение

Ответ 5

У меня была аналогичная проблема, и я решил ее изменить, изменив один char в моем коде и снова запустив git add/commit/push. Я думаю, вы уже пробовали это.

Не сломайте приложение, просто добавьте комментарий в файл CSS или что-то еще и посмотрите, делает ли это трюк

удача

Ответ 6

У меня была такая же проблема и она была решена с помощью

Git push origin HEAD: мастер

Для вас

Git push heroku HEAD: мастер

Ответ 7

Через некоторое время я подошел, чтобы использовать задачу рейка, подобную этой deploy.rake

Он будет стандартизировать и ускорить развертывание, особенно когда миграция должна быть реализована

puts `git push -f [email protected]:#{APP}.git #{current_branch}`

Как вы видите, опция - force (или -f) используется для любого нажатия, чтобы игнорировать любые конфликты с heroku git repo

Но я не рекомендую его для новичков:)

Ответ 8

У меня была та же проблема, и я пробовал все предложения и не помогал. Мне пришлось запускать активы, предварительно скомпилированные локально и push, хотя я сделал heroku run rake assets:precompile.

rake assets:precompile
git add .
git commit -am "local assets precompile"
git push heroku master

Ответ 9

Ваше приложение heroku будет автоматически reset при загрузке новой версии (slug), которая загружается. Если вы измените приложение таким образом, чтобы он не загружался, ваши динамограммы приложений будут продолжать использовать старую версию.

Другими словами, когда вы развертываете свое приложение, он загружает пул (новый исходный код) в новый динозавр, и если динамически загружает приложение должным образом, у него будет этот динозаменитель для замены существующих динозавров, запускающих ваше приложение.

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

Если у вас есть журналы из git push heroku, разместите их.

Изменить: git reset имеет дело с индексами git, а не с рабочим деревом или текущей ветвью.

У вас есть для них проверка фиксации вами reset, чтобы фактически изменить файлы - как это взаимодействует с герокой, я не уверен (никогда не откатывал развертывание до героку еще, пальцы скрещены), но надеюсь помогает. Может быть, попробуйте сделать git push heroku после вашего заказа?