回答:
以下のようKindDragonの答えは言及、あなたは再作成することができますmasterを直接origin/master持ちます:
git checkout -B master origin/master
git checkoutmanページには   言及します:
場合は-B与えられて、<new_branch>それが存在しない場合は作成されます。それ以外の場合はリセットされます。これは、トランザクションに相当するものです
$ git branch -f <branch> [<start point>]
$ git checkout <branch>
当初提案された:
何かのようなもの:
$ git checkout master
# remember where the master was referencing to
$ git branch previous_master
# Reset master back to origin/master
$ git reset --hard origin/master
ステップ2はオプションです。
Gitは次のコマンドをサポートしています。
git checkout -B master origin/master
origin/masterブランチをチェックアウトしてから、ブランチをリセットしmasterます。
git fetch origin masterれることを確認する前にする必要origin/masterはありませんか?
                    git fetch最初にすべきすべてのソリューションで
                    VonCの答えでさえ、このオプションに比べて複雑だと思います。
git update-ref refs/heads/master origin/master
git reset --hard master
gitは、refのすべての値を(reflogを介して)自動的に記録します。そのため、そのコマンドを実行した後master@{1}、マスターの以前の値を参照します。
VonCの答えは正しいですが、マスターの古い値をファイルシステムにチェックアウトする時間を無駄にします。
リポジトリ内の孤立オブジェクトを気にする場合は、実行できます git gc
Already on 'master'