Приложение, нажатое на герою, по-прежнему показывает стандартную страницу индекса

17

Я прошел через шаги по установке git и герою gem и успешно нажал мое приложение на героку. Проблема заключается в том, что она показывает стандартную страницу «You're Riding Ruby on Rails», хотя локальное приложение, которое у меня есть, имеет маршруты, установленные для root на определенный контроллер / страницу. Я также удалил страницу index.html из / public.

Любая идея, почему это происходит? Я подозреваю, что мне, возможно, нужно было перейти от разработки к развертыванию, но все же, я удалил index.html, почему он все еще появляется на герою?

EDIT: переход к mysite.heroku / login и другим страницам, которые я создал, по какой-то причине отлично работает, поэтому никогда не думайте о развертывании.

    
задан dsp_099 15.06.2011 в 01:01
источник
  • Вы удалили public / index.html из git с git rm или просто из своего рабочего каталога? Что говорит статус git? –  matt 15.06.2011 в 01:16
  • Вы должны опубликовать это как ответ, чтобы я мог отдать ему должное, которого он заслуживает :) Я не понимал, что вам нужно это сделать, я решил, что git push heroku master будет обрабатывать, какие файлы были удалены, а какие Не было. –  dsp_099 15.06.2011 в 01:51

2 ответа

40

Когда вы используете git и удаляете файл, этот файл не удаляется автоматически из git repo. Поэтому, когда вы git push heroku , файл все еще существует и попадает в Heroku.

Вы можете узнать, имеет ли это значение git status , которое будет выглядеть примерно так:

# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    public/index.html

Чтобы удалить файл, вам необходимо использовать git rm . В этом случае вам нужно сделать что-то вроде:

git rm public/index.html
git commit -m "Removed public/index.html"

, который удалит файл из текущей ветви.

Теперь, когда вы делаете

git push heroku

файл не будет включен, поэтому вы будете перенаправлены на контроллер, как указано в route.rb.

    
ответ дан matt 15.06.2011 в 02:23
  • Вы также можете просто выполнить git commit -am «message» и позаботиться об удаленных файлах. –  David 15.06.2011 в 03:49
  • за то, что его стоит сделать git add. а затем git add -u, но пользователь предпочитает, я думаю –  Richlewis 21.05.2013 в 14:45
2

Я всегда использую git commit -am "message". Это предотвратило вышеупомянутую проблему (что бы точно произошло), и я не знаю, почему не использовать -am.

EDIT: также обязательно используйте git add . , когда у вас есть новые файлы для добавления.

Итак, мой процесс:

git status (to see what has changed)
git add . (if there are new files I want to add to repository)
git commit -am "This is the comment"
git push (to github)
git push heroku (--app app-name if there is more than one app connected to this repository)
    
ответ дан B Seven 15.06.2011 в 16:49