git checkout "--" をつけることによって他のオプションなのかパスが来るのか判断している。
git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>.
こういうケースとかには "--" がないとつらい。
git checkout <tree-ish> <path1> <path2>
git checkout <path1> <path2> <path3>
"--"つけると便利。
git checkout <tree-ish> -- <path1> <path2>
git checkout -- <path1> <path2> <path3>
参考: [http://stackoverflow.com/questions/2531204/in-git-checkout-files-what-does-mean]