Removing duplicate db migrations from git repository

git, github, heroku, migration, ruby-on-rails

Solution

If you type "git status" it should show the inconsistency. It will say something like this:

# 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

So just follow the instructions there. To permanently remove it from the repository, type:

git rm db/migrate/20101007030431_create_favorites.rb

Problem

I'm trying to deploy a rails app to Heroku and I'm running into some basic git problems. I'm new to this all -- rails, git, heroku -- so I'm afraid I'm getting lost on what's probably a fairly basic concept. I've pushed the app to Heroku, but when I'm migrating the db ($ heroku rake db:migrate), I keep getting the following error: ``` rake aborted! Multiple migrations have the name CreateFavorites ``` Checking my github repository, and sure enough, there are two migrations: ``` 20101007030431_create_favorites.rb 20101012173735_create_favorites.rb ``` The first file -- 20101007030431_create_favorites.rb -- does not exist in my local app, and yet it's still in the github repository after I commit. How can I remove this file and get my repository and local app in sync? Thanks in advance.

Original source