When I work on fixing bugs or adding new features I often add debug statements all over the place to debug something and find out where it goes wrong. Before I can then create a patch or commit the changes, I need to clean up the working tree first. Although a git diff can already help a lot, it's still tedious work to open the different files, look for debug statements and remove them. Luckily, git can do much more than just point out where the changes are.