I hate git. With this I seemed to be a part of a very educated/intelligent community. Just from the fact that one cannot use git without stackoverflow one can derive that git sucks. git is not difficult. It is not documented and thus kind of unusable. Any documentation for git should start with enumerating the objects involved. I have yet to see such a documentation. For nearly everybody it is unclear what are the objects involved, other than working files and remote database. Any documentation for any verb should first state which objects it reads and/or writes.
I'm dealing with
- RAII for every (fallible) resource allocation since 1996 (if you work for Google, you will be unable to understand this sentence)
- hierarchical error reporting using C++ Exception Handling since 1996
- multithreading since 1992
- PLL/TBB
- computer aided optimization of code (e.g. transistor models for spice-like circuit simulator)
- meta programming
- automatic derivation