I would argue that git at its core solves the problem of handling a shared verifiable state. The history of a git repository is build on the same hashing principles as a blockchain to ensure that history cannot be changed. The main difference to a blockchain is that in order to change the state you have to convince other humans that your change is valid.
In my understanding the main selling point of blockchains is to outsource the accepting of state changes to a consensus protocol which does not involve human interaction/interference. And just as git a blockchain still works if only one or few actors are involved.