I wonder if this is still needed?  As of Git v1.6.6 (December 2012), the default behavior for `git checkout foo` has been to translate that to `git checkout -b foo --track {{ remote }}/foo`, with `{{ remote }}` being replaced with the remote that has the matching branch (see [docs here](https://github.com/git/git/blob/master/Documentation/git-checkout.txt#L32-L38)).