Here is a collection of mailing list postings made by various people describing how they use git in their workflow.
Linus describes what dangling objects are, when they are left behind, and how to view their relationship with branch heads in gitk
isolate-bugs-with-bisect by Linus Torvalds <torvalds () osdl ! org>
Short-n-sweet, Linus tells us how to leverage git-bisect to perform bug isolation on a repository where "good" and "bad" revisions are known in order to identify a suspect commit.
In this article, Linus talks about building a tarball, incremental patch, and ChangeLog, given a base release and two rc releases, following the convention of giving the patch from the base release and the latest rc, with ChangeLog between the last rc and the latest rc.
In this article, Linus demonstrates how a broken commit in a sequence of commits can be removed by rewinding the head and reapplying selected changes.
In this article, JC talks about how he rebases the public "pu" branch using the core GIT tools when he updates the "master" branch, and how "rebase" works. Also discussed is how this applies to individual developers who sends patches upstream.
In this how-to article, JC talks about how he uses the post-update hook to automate git documentation page shown at http://www.kernel.org/pub/software/scm/git/docs/.
In this article, JC gives a small real-life example of using git revert command, and using a temporary branch and tag for safety and easier sanity checking.
In this article, JC describes how to separate topic branches.
An example hooks/update script is presented to implement repository maintenance policies, such as who can push into which branch and who can make a tag.
In this article, Tony Luck discusses how he uses GIT as a Linux subsystem maintainer.