Here is a collection of mailing list postings made by various people describing how they use git in their workflow.

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.