The other day I was going through presentations on www.speakerdeck.com, a site from the same guys who created Github, and found a cool little presentation on Git branching. The presentation was by Gregorz Wilczynsky of TAPteam. The slides are demonstrations of the Git workflow model used within the company.
I really like how they standardize the naming of branches so that each developer knows not only what each feature branch is for, but who it is by. They do this by prefixing their branches with their first and last initials, then by naming it after the feature they are working on. This also helps know who deleted the branch.
They also make use of another practice in Git that I believe really helps get rid of some clutter and headaches…deleting local branches that are tracking remote branches which have been merged. This seems like common sense, but sometimes when you’re working on many different features common sense gets harder and harder to recognize.