git commit --cleanup=whitespace avoids removing any lines starting with '#'. That includes the usual instructions and git status output. However, git commit -v uses a special "cut" marker and removes everything below that, which includes the patch -v includes. --cleanup=whitespace (and --cleanup=whitespace -v) should use the same cut marker *above* the instructions and status, so that they automatically get removed even though other '#' lines don't. - Josh Triplett