This doesn't really answer the parent's question though. In a blockchain with a client doing full validation, removing/altering the data would cause the that block to be invalid. You'd need to hardfork the network to accept the altered history. I suspect git also checks the integrity of each commit, at least when pulling/cloning, so that would probably cause git to think the objects/packfiles are corrupt.