except for "append-only" and "verifiable records"
Git also supports signed commits.
In git you use other external signals to determine which fork to select in the case of diverging histories.
With blockchain, all participants are untrusted, so you just go with the longest chain by convention, and rely on the fact that it’s extremely difficult to build such a chain.