2010-10-25 7 views
12

Próbuję wdrożyć aplikację rails do Heroku i mam kilka podstawowych problemów z Git. Jestem nowy w tym wszystkim - szyny, git, heroku - więc obawiam się, że gubię się w prawdopodobnie najprostszej koncepcji.Usuwanie duplikatów migracji z repozytorium git

ja popchnął aplikację Heroku, ale kiedy jestem migracji db ($ Heroku rake db: migrować), wciąż otrzymuję następujący błąd:

rake aborted! 
Multiple migrations have the name CreateFavorites 

kontroli mój repozytorium GitHub oraz rzeczywiście, istnieją dwie migracje:

20101007030431_create_favorites.rb 
20101012173735_create_favorites.rb 

pierwszego pliku - 20101007030431_create_favorites.rb - nie istnieje w moim lokalnym aplikacji, a mimo to nadal w repozytorium github po oddaję. Jak mogę usunąć ten plik i zsynchronizować moje repozytorium i aplikację lokalną?

Z góry dziękuję.

+0

Dodatkowa migracja nie jest dostępna w lokalnym repozytorium, jeśli pobierasz? A co jeśli ponownie sklonujesz repozytorium w nowym katalogu, może się pojawi i będziesz mógł go usunąć i zatwierdzić? – njorden

+0

Dzięki, Njorden. Uważam, że, ale ponieważ nie jestem pewien, w jaki sposób został pierwotnie usunięty, byłem trochę zaniepokojony, że po prostu "w połowie" usunąć go ponownie. – iamlemur

Odpowiedz

22

Jeśli wpiszesz "status git", powinien on pokazać niespójność. To powie coś takiego:

# 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 

Więc po prostu postępuj zgodnie z instrukcjami tam. Aby trwale usunąć go z repozytorium, wpisz:

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

a następnie "git commit" i "git push" jak zwykle –

+0

Przysięgam, czasami najprostsze polecenia są najtrudniejsze do znalezienia w całym hałasie. Właśnie tego potrzebowałem, dzięki. – iamlemur