A big reason developers use a source control system like Git is to avoid disasters. If you do something as simple as mistakenly delete a file, or you discover that the changes you’ve made to a dozen files were all ill-advised, you can undo what you’ve done with little hassle.
Some Git mistakes are more intimidating and difficult to reverse, even for experienced Git users. But with a little care — and provided you don’t panic — you can roll back from some of the worst Git disasters known to programmers.
Here is a list of several of the bigger Git boo-boos, along with tips for backing out of them and preventing some of them. The further you go down the list, the bigger the disasters get.