2011-06-14 4 views
17

Pasé por los pasos para instalar git y la gema heroku y llevé mi aplicación a heroku con éxito. El problema es que muestra una página estándar de "You're Riding Ruby on Rails" a pesar de que la aplicación local que tengo tiene rutas configuradas para rootear a un controlador/página determinado. También borré la página index.html de/public.La aplicación presionada para heroku todavía muestra la página de índice estándar

¿Alguna idea de por qué sucede esto? Sospecho que podría necesitar cambiar de desarrollo a implementación de alguna manera, pero aún así, eliminé el index.html, ¿por qué todavía aparece en heroku?

EDITAR: Ir a mysite.heroku/login y otras páginas que he creado funciona bien por alguna razón, así que no importa en la implementación.

+9

qué eliminar 'pública/index.html' de git con' rm' git, o simplemente desde el directorio de trabajo? ¿Qué dice 'git status'? – matt

+0

Deberías publicar esto como una respuesta para que pueda darle el crédito que merece :) No me di cuenta de que tenías que hacer eso, pensé que el maestro de git push heroku se encargaría de qué archivos se han borrado y qué refugio 't sido. –

Respuesta

40

Cuando está usando git y elimina un archivo, ese archivo no se elimina automáticamente del git repo. Entonces cuando git push heroku el archivo todavía existe y se empuja a Heroku.

Usted puede saber si este es el caso con git status, que mostrará algo como:

# 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 

el fin de eliminar el archivo, es necesario utilizar git rm. En este caso, debe hacer algo como:

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

que eliminará el archivo de la rama actual.

Ahora cuando haces

git push heroku 

no se incluirá en el archivo, y por lo que será encaminado al controlador como se especifica en routes.rb.

+4

También puede hacer '' git commit -am "message" 'y eso se ocupa de los archivos eliminados. – David

+0

por lo que vale la pena hacer un git add. y luego un git agrega -u pero la preferencia del usuario supongo – Richlewis

2

Siempre uso git commit -am "message". Eso evitó el problema anterior (que definitivamente habría sucedido), y no sé de ninguna razón para no usar -am.

EDITAR: Además, asegúrese de usar git add . cuando tenga nuevos archivos para agregar.

Por lo tanto, mi proceso es:

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) 
Cuestiones relacionadas