GitHub

Gitでローカルリポジトリのmasterを削除し、origin/masterから再度masterを作成する

masterブランチに要らないコミットをしてしまったときの対処法などとして使えます。

※masterブランチが汚くなってしまったときの最終手段です。

master以外のブランチにcheckoutし、masterを削除。

git branch -D master

origin/masterが最新かどうかを確認する。

git log origin/master

最新でない場合はfetchする。

$ git fetch

remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
From github.com:XXXXXXX/XXXXXXX
04b9e144..19268083 master -> origin/master

再度ローカルリポジトリのmasterを作成し、checkoutする。

$ git checkout -b master origin/master

Switched to a new branch 'master'
Branch master set up to track remote branch master from origin.