##経緯
Railsチュートリアルを途中まで進めたが、
前章でやったところが引き金でエラー発生 -> どこかわからなくて詰んだ
っていう状況に陥る同士がいるかもしれない。
自分の場合は前章のブランチに戻って新規ブランチを作成後、
masterブランチにmergeしたらコンフリクトが大量発生した。
コンフリクト一つ一つ解消していくのもいい(そもそも起こす事自体が問題らしい)が、
解消後、rails test
でエラー出まくったりherokuにデプロイができなくなった。
どうしようもなくなった時の対処法をまとめておこうと思う。
##どうしようもない時にやったこと
- リモートのmasterブランチ巻き戻し & ローカルのmasterブランチ巻き戻し
- Herokuアプリ作り直し
###1. リモートのmasterブランチ巻き戻し
順序
- リモートのmasterブランチのバックアップ作成
- ローカルのmasterブランチ巻き戻し
- リモートのmasterブランチを削除
- ローカルのmasterブランチをリモートにプッシュ
- リモートのmasterブランチのバックアップ削除
###リモートのmasterブランチのバックアップ作成
$ git push origin master:master_bak
###ローカルのmasterブランチ巻き戻し
commitの履歴確認
$ git log master
ローカルのmasterブランチを巻き戻したいところまで戻す
5なら前のコミット5つ目まで戻る
$ git reset HEAD~5
戻した内容を確認
git status
戻した内容取り除く
git stash -u
上書きのためにコミット
git add -A
git commit -m "コミットメッセージ"
###リモートのmasterブランチを削除
githubのアプリケーション画面で、
-> settings
-> Branches
-> Default Branch をmaster以外に変更(masterがDefault Branchに指定されていると削除できない)
リモートのmasterブランチ削除
git push origin :master
###ローカルのmasterブランチをリモートにプッシュ
$ git push origin master
できなかったら強制push (非推奨)
$ git push -f origin master
###リモートのmasterブランチのバックアップ削除
$ git push origin :master_bak
##2.herokuアプリ作り直し
こちらの記事が非常に参考になったので共有しておきます。
自分の場合、
SendGridやAWSの設定まで終わらせていたので、
アプリケーション内で設定したところは再度修正した。
ここの設定ミスでデプロイ後のブラウザ表示にエラーが出たので気をつけましょう。