Public and private. Currently I use github for public, and dreamhost-through-ssh for private, but I would like a good, proper way to have both in one place.
Multiple would be best - I often work on projects with my brother, and other people
They are occasionally useful. The one with Gitorious does well enough.
I use command line, but my brother (also a Dreamhost customer) uses TortiseGIT, and (more recently) git integration with Aptana.
I already deploy sites to dreamhost through git, but as a local clone. I have ~/git/ set up, which holds my bare git repos, then I push to them with SSH, and clone them to my live sites.
This isn't ideal for me, but I make it work. I don't make use of HTTP checkouts or the like, but I would if it were all easily available (i.e. through gitorious).