First, remove the commit on your local repository. You can do this using
git rebase -i. For example, if it’s your last commit, you can do
git rebase -i HEAD~2 and delete the second line within the editor window that pops up.
Then, force push to GitHub by using
git push origin +master.
See Git Magic Chapter 5: Lessons of History - And Then Some for more information (i.e. if you want to remove older commits).
Oh, and if your working tree is dirty, you have to do a git stash first, and then a git stash apply after.
the Answer come from stackoverflow