普段から普通にやっている方法です。
git fetch git checkout -b $BRANCH_NAME origin/master git push -u origin $BRANCH_NAME
git fetchでoriginを最新にして、origin/masterからブランチを切ります。
これで、プロジェクトの最新の状態からbranchを切る事が出来ます。
現在どのbranchに居るかを気にせずとも、branchを切る元を間違える事がないので安心です。
(例えばうっかり関係ないtopic branchから切ってしまう。といったことを気にしなくて良くなります。)
また、git push -u origin $BRANCH_NAMEすることにより、
リモートブランチがupstreamとして紐付く為、いちいちgit pull origin $BRANCH_NAMEとかしなくて良くなり、うっかり違うブランチをpullするというような事故を防げます。
というやりかたがベストかなーと思っていますがより良い方法があれば知りたいです。
追記: git 1.9未満ではこの上でgit config push.default upstreamにしておくと安全です。git config push.default currentだと最初のpushが若干楽になりますが、upstreamのがカタイです。お好きな方で。*1
なお、git 2.0からはgit config push.default simpleがデフォルトになったので、git 2.0使おうぜもアリだと思います。
*1:もちろんですが、globalに適用したいときは--globalオプションを付けましょう。