gitのコミットログを#で始める方法

git commit -m '#foobar'

なら問題ないですが、editor開いて複数行コミットログを書きたい場合どうすればよいかというと

git commit --cleanup=whitespace

で不要な#を削除すればok。

git 2.0.4 manより抜粋

       --cleanup=<mode>
           This option determines how the supplied commit message should be cleaned up before committing.
           The <mode> can be strip, whitespace, verbatim, scissors or default.

           strip
               Strip leading and trailing empty lines, trailing whitespace, and #commentary and collapse
               consecutive empty lines.

           whitespace
               Same as strip except #commentary is not removed.

           verbatim
               Do not change the message at all.

           scissors
               Same as whitespace, except that everything from (and including) the line "#
               ------------------------ >8 ------------------------" is truncated if the message is to be
               edited. "#" can be customized with core.commentChar.

           default
               Same as strip if the message is to be edited. Otherwise whitespace.

           The default can be changed by the commit.cleanup configuration variable (see git-config(1)).

いろいろあります。

name outline
strip 最初と最後の空行を無視。文末のwhitespaceを削除。コメント行と連続する空行を無視。
whitespace コメント行を無視。あとはstripと一緒
verbatim そのまんま
scissors #を含む行を無視。あとはwhitespaceと一緒
default whitespace以外の編集がされていればstripと一緒

amendでの対応方法

2014/9/27追記

git commit --amend --cleanup=whitespace