We had a snafu tonight where code checked into git (which gets auto pushed to our application if pushed to the master branch) that caused our site to go down for a bit. I restored an EC2 snapshot to get the site back up, but now I need to cleanup git and get us back on track.
It looks like I need to find the last successful commit to the master branch, grab the first 8 or so characters of it's sha1 id, and run this:
git reset --hard jfe2ldj2
git push origin master -f
Once I do that, everything on the master branch from commit "jfe2ldj2" an later will be wiped from git and can never be recovered. Am I understanding that correctly?
Also, this will not effect any other branches or commits correct? Meaning, that once I run that command and bring the master branch back to say 6 weeks ago, all of the other branches will remain current. Meaning that if I have a number of release and feature branches and they all have multiple commits since 6 weeks ago, all of those branches and commits will still be there?
Once I do that, everything on the master branch from commit
jfe2ldj2
an later will be wiped from git and can never be recovered.
As has already been well covered, if changes were committed they can still be recovered even after reset --hard
Also, this will not effect any other branches or commits correct?
Yes, think of a tree, chopping off one branch leaves the others intact.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With