Basically, almost everything is immutable in git, apart from tags and branches: these are mutable pointers to immutable commits.
Reply on news.ycombinator.com