俺は普段こういう運用でやっているが、君はどうか。
社内の trac にドキュメントをかいたので、コピペしておく。git についてはカジュアルにつかってるだけなので、もっとこうしたほうがいいんじゃねえのというのがあればおしえてください。
master
本番の deploy 用。誰かに deploy されてこまるものはいれない。
stg
ステージングの deploy 用
iss(\d+)
チケット$1 用の topic branch。master から分岐させる
その他、キャンペーン関係など、おいやすくしたい者は別途名前つけてもよし。
基本的に、開発はチケットにひもづく topic branch でおこなうので、以下のような作業フローとなる
git co master
git co -b issXXX # トピックブランチをきる
... # development
git co stg # switch to stg branch
git merge issXXX # トピックブランチを merge する
# deployする
確認しおわったら master に merge
git co master
git merge issXXX
# deploy
stg ブランチは、stg まであげたけど deploy しなかった機能とかがあってよごれることがままあるので、たまにつくりなおしてもよい。