git checkout good-branch
git branch -D master
Big -D
is a blow-everything-away command, make sure this is what you want! You could alternately create a new branch off of the existing master for safe keeping and then delete master.
git checkout -b master
Create a new master based on the current branch and check it out
git branch -d good-branch
Delete the old branch since your master is now the same as that branch
Then, when you push it to a remote, you'll need to --force
it to override the master that's there.
git push origin master --force