Actually you can make something more or less like that by signing a tag, and, as you pointed out, releasing it.
this makes it convenient to check that no previous commit as been removed, as git signs a hash of the tag which is a hash of all the hashs in the history
(the tag can still be deleted, but just to show the convenience added)
(the tag can still be deleted, but just to show the convenience added)