from now on master stays clean and we use branches

Experimenting on the master branch is not good practice - in fact, it
defeats the purpose of git. So from now on, master stays clean (no
changes are made to it). To add features to the program, add a
devel branch (git branch -d new_feature). When the feature is
implemented properly and tested, you can marge it with the master (git
checkout master && git merge new_feature).