force push されたブランチをローカルブランチに反映
force push されたブランチをローカルブランチに反映
force push されたブランチは、git pull でローカルブランチに反映できない。
例
レビュー後に force push されると、git pull できない。
- レビュイー: 
feature/xxxブランチのプルリクエストを作成して、レビュー依頼 - レビュアー: 
git checkout feature/xxxして、動作確認・レビュー - レビュイー: レビュー対応して、
git push --force origin feature/xxx - レビュアー: 
git pull origin feature/xxxできない 
git pull
force push されると、コミットが書き換わってしまうので git pull できない。
$ git pull origin feature/xxx
From github.com:organization_name/repository_name
 * branch              feature/xxx -> FETCH_HEAD
Auto-merging models/staging/dataset_name_a/stg_dataset_name_a.yml
CONFLICT (content): Merge conflict in models/staging/dataset_name_a/stg_dataset_name_a.yml
Auto-merging models/staging/dataset_name_a/dataset_name_a.md
Automatic merge failed; fix conflicts and then commit the result.
対応
リモートリポジトリの feature/xxx ブランチに HEAD が移動する。
$ git reset --hard origin/feature/xxx
HEAD is now at xxxxxxxx hogehoge を修正
所感
レビュー後のブランチで、force push は禁止したい。
