A great way to make your pull requests easier to review is to reduce each commit to a particular purpose/functional change. In practice this often means not combining multiple feature additions in a single commit, or not including whitespace changes in a commit that makes some code change.
The command-line git add
is just not great for anything but very trivial changes, so I use GitX (the active fork) when I’m on OSX.
Getting to the UI is a quick gitx
in terminal and command+2 to switch to the Stage view. Here you can move changes in/out of staging via drag/drop files or by clicking on individual lines in diff views. This lets you run wild and loose during development then, with a scalpel, carefully craft your changes into a logical set of cleaner commits. E.g. if you’ve altering code, unstage all your unrelated whitespace changes and put them in the last commit, or just revert them or git stash
to move them to another branch.
Thanks for the tip. I try to keep my commits really clean, too and the granularity of staging individual lines is appealing. I’ll give it a try.