I do not know which is better, however, I believe that the two should be linked. That the commit is taking place on a decoupled system means that you have no direct visibility to the comment and when the comment is in the code they tend to get stale. (of course there is always literate programming).
UPDATE: my editor needs a proper blame view where the blame column might be commit comments instead of person. (literate programming is starting to feel better) I read that Donald Knuth writes 2 to 3 programs a week in this way.