GitHubのpull requestがコンフリクトしたとき
pull requestした後に、不幸にもmasterが更新されてコンフリクトしたときの対応。 忘れてしまいそうなのでメモ。
最新の変更への追従とコンフリクト解消
ローカルリポジトリのmasterブランチを最新版に追従。
$ git checkout master
$ git pull tdiary master
pull request済みのブランチを念のためにバックアップ。
$ git checkout html_anchor_on_rack
$ git branch html_anchor_on_rack2
最新版のmasterにリベース。
$git rebase master
コンフリクトしていたらaddしてrebase --continue。git commitは不要。
git add config.ru
git rebase --continue
これでmasterの更新に追従できた。念のためにログを確認。
$ git log
GitHubへのpull requestを修正済みのパッチに差し替え
GitHub上のリモートブランチをいったん削除。
$ git push origin :html_anchor_on_rack
リベースしたリモートブランチをpush。
$ git push origin html_anchor_on_rack
pull requestしたパッチは、自動的にrebase後の内容に置き換えられる。