I think this says it best: "Treat public history as immutable, atomic, and easy to follow. Treat private history as disposable and malleable." https://sandofsky.com/blog/git-workflow.html
Obviously don't push to master or any shared mainline branch until it is done. When using github with others (even one other) I prefer to only merge to master with Pull requests so there is opportunity to review and comment on the code as a second pair of eyes.
I did it for myself (because I kept forgetting) so it's not very thorough, but still a little more helpful if you ask me, it will get better with time and/or collaboration (unlike an image!).
Note that the very basics are not included, those you tend to remember them soon enough IMO.
If you're interested it's hosted on github and I would be very happy if anyone want's to collaborate:
* White http://www.git-tower.com/files/cheatsheet/Git_Cheat_Sheet_wh...
* Grey http://www.git-tower.com/files/cheatsheet/Git_Cheat_Sheet_gr...
* Dark http://www.git-tower.com/files/cheatsheet/Git_Cheat_Sheet_da...
EDIT: Actually, it looks like the font is fine and (for some reason) the source document represents apostrophes with U+2018 (LEFT SINGLE QUOTATION MARK) instead of U+2019 (RIGHT SINGLE QUOTATION MARK).
I think it is. In fact, when working on personal projects that's the ONLY reason I use it.
I don't understand why Linus gets his knickers in a twist about the commit message thing. Whilst I do try and keep my commit messages useful and not blank, I can only think of three or four times in the last ten years where I've actually had to go back through previous versions of code to try and understand the current code. Why is it so important? Just look at the code you have now and fix it!
Then, with all due respect, you work on some pretty trivial code and/or throwaway projects without long lifetimes. No one who has ever faced a serious regression in a large system would ever say something like this.
i keep hoping they make a clean break and just rework the commands to reduce confusion and introduce better uniformity