The commit history is broken. Your branch is out of sync. You need to rewind. Fast.
Git reset gives you the power to move the branch pointer—back to a clean state, to before the bad commit, to exactly where you choose. SVN works differently, but teams migrating to Git or juggling mixed environments often face the same problem: cleanly reverting changes without losing control of history.
With Git, git reset is the precision tool.
git reset --soft <commit>: keeps changes staged.git reset --mixed <commit>: keeps changes in the working directory.git reset --hard <commit>: drops everything to match the specified commit.
In Subversion, you can’t “reset” in the same way. svn update -r <revision> lets you go back in time, but it updates files directly in your working copy. Changes not yet committed can be reverted with svn revert, targeting single files or directories. For historical changes already committed, svn merge -c -REVISION can roll them back.