【Github】リモートリポジトリがrebaseやforce pushによって歴史が変わったとき、ローカルの歴史もリモートと同じにする方法
スポンサーリンク
githubを使いチームで開発しているとき、自分のローカルの歴史とリモートリポジトリの歴史が異なるときがある。
誰かがrebaseなどして、force pushをしたときなど。(masterのforce pushは禁止にはしているが、ブランチはよくある)
このときそのままpullやfetchしても失敗する。
そんなときはどうするかの備忘録。
ローカルまるごと削除してcloneし直すのもいいが、もっとクールにやる。
// とりあえず目的にブランチにチェックアウト(hoge-branchとする)
$ git checkout hoge-branch
// リモートの最新を取得して
$ git fetch origin hoge-branch
// リモートの状態に強制的にする
$ git reset --hard origin/hoge-branch
これでOK。
こちら参考にさせていただきました。
git pull を強制し、リモートでローカルを上書きする方法 | WWWクリエイターズ
以上。