2010-10-25 4 views
12

Sto provando a distribuire un'applicazione per i binari su Heroku e sto riscontrando alcuni problemi di git di base. Sono nuovo di tutto questo - rails, git, heroku - quindi temo di perdersi in quello che probabilmente è un concetto abbastanza semplice.Rimozione delle migrazioni db duplicate dal repository git

Ho spinto l'applicazione per Heroku, ma quando sto migrando il db ($ Heroku rake db: migrate), continuo a ricevere il seguente errore:

rake aborted! 
Multiple migrations have the name CreateFavorites 

Controllo il mio repository github, e abbastanza sicuro, ci sono due migrazioni:

20101007030431_create_favorites.rb 
20101012173735_create_favorites.rb 

il primo file - 20101007030431_create_favorites.rb - non esiste nella mia app locali, eppure è ancora nel repository github dopo mi impegno. Come posso rimuovere questo file e ottenere il mio repository e l'app locale sincronizzati?

Grazie in anticipo.

+0

La migrazione aggiuntiva non è nel repository locale se si tira? Cosa succede se cloni nuovamente il repository da zero in una nuova directory, forse verrà visualizzato ed è possibile eliminarlo e commetterlo? – njorden

+0

Grazie, njorden. Considerato ciò, ma dato che non sono sicuro di come questo sia stato originariamente cancellato, ero un po 'preoccupato che lo avrei "cancellato" per metà. – iamlemur

risposta

22

Se si digita "git status", dovrebbe mostrare l'incoerenza. Dirà qualcosa del genere:

# 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 

Quindi basta seguire le istruzioni lì. Per rimuoverlo definitivamente dal repository, digitare:

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

e poi "git commit" e "git push" come normale –

+0

Giuro, a volte i comandi più semplici sono i più difficili da trovare in tutto il rumore. Questo è esattamente ciò di cui avevo bisogno, grazie. – iamlemur