2010-10-25 13 views
12

Estoy tratando de implementar una aplicación de rieles a Heroku y me encuentro con algunos problemas básicos de git. Soy nuevo en este todo-rails, git, heroku, así que me temo que me estoy perdiendo en lo que probablemente sea un concepto bastante básico.Eliminando migraciones db duplicadas del repositorio de git

He presionado a la aplicación Heroku, pero cuando estoy migrando el PP ($ heroku rake db: migrate), que deja de recibir el siguiente error:

rake aborted! 
Multiple migrations have the name CreateFavorites 

Comprobación de mi repositorio GitHub, y efectivamente, hay dos migraciones:

20101007030431_create_favorites.rb 
20101012173735_create_favorites.rb 

el primer archivo - 20101007030431_create_favorites.rb - no existe en mi aplicación local, y sin embargo, que todavía está en el repositorio gitHub después de que me comprometo. ¿Cómo puedo eliminar este archivo y sincronizar mi repositorio y la aplicación local?

Gracias de antemano.

+0

La migración adicional no está en su repositorio local si extrae? ¿Qué pasa si clonas el repositorio nuevamente desde cero en un nuevo directorio, tal vez aparecerá y podrás eliminarlo y confirmarlo? – njorden

+0

Gracias, njorden. Considerado eso, pero como no estoy seguro de cómo se borró originalmente, estaba un poco preocupado de que simplemente lo "borrara" a medias. – iamlemur

Respuesta

22

Si escribe "estado de git", debería mostrar la incoherencia. Dirá algo como esto:

# On branch master 
# Changed but not updated: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
#  deleted: db/migrate/20101007030431_create_favorites.rb 

Así que simplemente siga las instrucciones allí. Para eliminarlo permanentemente del repositorio, escriba:

git rm db/migrate/20101007030431_create_favorites.rb 
+0

y luego "git commit" y "git push" como es normal –

+0

Lo juro, a veces los comandos más simples son los más difíciles de encontrar en todo el ruido. Esto es exactamente lo que necesitaba, gracias. – iamlemur

Cuestiones relacionadas