Git tracks the changes for each file in a commit. For instance, this is a rather small diff for a recent commit to the Kate editor. In fact, git typically only stores the changes to each file internally and uses that to build complete files in your working directory.
If you need to track only small incremental changes, just commit for every little change you want to be tracked. Since git doesn't have to talk to a server to commit, it's quick and easy. Many editors and IDEs come with git integration so it may even just require you to push a button. Git's index also permits you to only check in the files you want, so you can split up your commits by file if you'd like.
Git's powerful branching will take care of your other need. To create and switch to a new branch just for your work just run
git checkout -b work. You can branch off that or the
master branch as many times as you need. Since git only stores the incremental changes, branches are cheap and easy. Once you have something that's ready to go, merge it back in to your primary working branch. You can even track little changes in one branch, and merge it into another as one big commit, so you can keep track of little changes when you need to but not have a ridiculously long history in your primary working branch.
Another feature of git that might be useful to you is cherry picking. This allows you to select specific commits from one branch and merge them into another branch. So if you did some work in one branch that you need in another, but don't need it all, bringing it over is easy.
I strongly recommend spending some time learning about all the various features of git so you'll be able to use them easily when you need to. Our friends over at Stack Overflow have compiled a list of excellent resources.