Tim Dysinger opened a ticket awhile back about using HEAD-less branches in a Git repository for sharing cookbooks. While Opscode isn't using this method for our own Cookbooks, other people in the community who wish to collaborate and share cookbooks may be interested in this technique.
From the README.markdown in Tim's repository:
README
Instead of one big cookbooks dir to rule them all, you can merge in the branches you would like into your main git-based cookbooks repo.
Create a new cookbook repo
Add this to your $HOME/.gitconfig
Create a new headless branch for your own recipe
Fork a recipe from someone else and work on it
You can share a branch with multiple related recipes to make it easy for others
You can create a new headless branch for each of your clusters you manage