操作ログ
メシの仕度をしつつ云々。手順は直前エントリに控えたものです。
master を backup
とりあえず master に移動して
$ git checkout master
バックアップな branch を作成。
$ git checkout -b master.backup.20130923
master 巻戻し
最新から 8 つステ。一気にヤると怖いので 4 つづつくらい、て
git reset --hard HEAD~4
したら 5 こ巻き戻ったぞorz
これ、merge commit 入りだと話がアレなんですね。とりあえず一つづつ、がオススメかも。
feature branch の整理
こちらは commit 二つ分を纏める形で以下。merge commit は無いので話は簡単ですね。
$ git rebase -i HEAD~2
こちらはさくっと完了。念のため試験パスするか確認するなどして次。
晩メシ製造完了して燃料入れつつ続行
master に merge か。ついでに github にも。で、その後に staging な branch を作成。
$ git checkout master $ git checkout -b staging
で、バックアップした heroku 用のソレと diff してみるか。
$ git diff master.backup.20130923 staging
差分は
- config/environments/production.rb のホスト名
- config/initializers/devise.rb の config.allow_insecure_lookup = true
下のは master に盛り込んでおいた方が良さげ感。feature に盛り込んで順に merge するか。ホスト名は staging なナニのみ、という事で。
heroku
リポジトリ初期化はどうすりゃ良いのかな。確認してみたら rollback できる模様。先頭まで巻戻して push してみようかな。あるいは
$ git push heroku :master
して云々?
! Push rejected, cannot delete master branch
むむ。つうかこれって merge してみれば良いのか。今は
- master.backup.20130923 からコピィで作った staging
- それを元に作った master
なのか。では以下。
$ git fetch heroku $ git merge heroku/master
を、conflict した。
CONFLICT (content): Merge conflict in config/initializers/devise.rb Automatic merge failed; fix conflicts and then commit the result.
以下なカンジ。
<<<<<<< HEAD ======= config.allow_insecure_token_lookup = true >>>>>>> heroku/master end
なるほど。つーことはこの差分を吸収すれば良いのだな。ということは
- staging な branch に上記の差分を盛り込む
- master は master.backup から戻す
- 戻したら master.backup は削除
- いまの staging はまだ master.backup.20130923 の状態
ということで追加な要件を feature に盛り込んで云々する準備ができたのかどうか。
そして feature を deploy する用意ができたのであれば
- staging に merge
- master の backup を作成
- staging を master にコピィ
- deploy
という流れなのかどうか。
とりあえず
勢いがついてきたので feature な盛り込みでもくもくな方向。
盛り込みログ
上記メモを取得した時点で居るのは master な branch なので
$ git stash
して staging に移動して stash pop なのか。
$ git checkout staging $ git stash pop
駄目だ。とりあえず master はステるので commit 作ってしまえ。
$ git add config/initializers/devise.rb $ git commit $ git checkout staging $ git merge master --no-ff
で、branch 削除はどうだっけ。
$ git branch -d master $ git branch -m master.backup master
これで feature な対応をすれば良いのか。