A useful command offered by Git is Git Bisect which automatically finds a certain revision where a bug was inserted. It is done by using a single mouse click on the good state and on the bad state of the history. After stating these two positions, Git Bisect will split the range in the middle and check the commit approximately in the center of the range between good and bad. You determine what this midpoint is, and each round where Git Bisect tests another portion of the range that has been halved, It will check if this point has changed until it reaches the point where the error has originated from. If you need to go back to the regular state after reconstructing the state you are supposed to build the history with 'git bisect reset'.