This is expected behavior.
In Redmine, you can configure how Times shoul;d be displayed in Administration -> Settings -> Display -> Time span format. By default, Redmine uses decimal (fractional) hours., e.g. 20 minutes are equivalent to a third of an hour, i.e. 0.33h. You can change this to show time spans in a hour-minute format, i.e. as 0:20 h
When adding time via a commit, you can use the both syntaxes equivalently, i.e. you can use either of the following strings in your commit message to add 20 minutes of time, all of which cause the same result:
@0h20m
@0:20
@0hours20min
@0.33h
@0.33
Internally, Redmine will always store fractional hours.