手が滑って pull request した branch に微妙な修正を盛り込んでしまいました。この branch を元に戻しつつ、盛り込んだ修正は有効なのでこれはこれで別な branch にて pull request を発行したい。どうするか。
ええと今は
A B C
o----o----o
という並びになっていて時系列てきには C の方が最新な commit です。remote がスデにこうなってて C をステつつ C の commit は個別で PR 作りたいという非常に微妙な要求があったりして。
とりあえず
C な commit な issue を先んじて作成しとく必要ありますね。とりあえずその issue に紐が付いたカンジで branch を作っておいて
$ git checkout -b yamanetoshi-124
元の branch に戻って
$ git checkout yamanetoshi-116
一つ巻き戻し。
$ git reset --hard HEAD~1
そして
- 既存の pull request を一旦クローズ
- 該当する remote branch を削除 (yamenetoshi-116)
- 巻き戻した local branch を push
でどうなるか。
pull request は手動で作成する必要があるみたいです。間違いのないよう、base は master で compare は push した branch (yamanetoshi-116) で作成。
これで一つは問題解決。もう一つの diff が以下なカンジ。
$ git diff yamanetoshi-124
diff --git a/_config.yml b/_config.yml
index ae1ec0e..2088d78 100644
--- a/_config.yml
+++ b/_config.yml
@@ -2,7 +2,7 @@
# For more see: http://jekyllrb.com/docs/permalinks/
permalink: /:categories/:year/:month/:day/:title
-exclude: ["vendor", ".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
+exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
pygments: true
# Migrating your Pages site from Maruku.
とりあえず master branch に戻って
$ git checkout master
あ、branch 作ってますね。これって rebase すれば良いのだろうか。とりあえずバックアップした branch を checkout してバックアップもせずに rebase -i してみます xD
$ git checkout yamanetoshi-124
$ git rebase -i HEAD~3
これで先頭のみ残して二つ削除したら最新 commit のみ残りました。これを push して pull request 作れば良いのか。かなり乱暴感ありますがおそらくこれでアタリのはず。
$ git push origin yamanetoshi-124
手が滑るとリカバー大変 xD
捕捉
git rebase -i
で削除したい commit の行を dd コマンドで削除して :wq
しております。
その後
pull request にコメントが。いくつか不備がある模様。修正頂いているようなのでローカルで確認。
$ git checkout yamentoshi-116
$ git fetch
$ git merge origin/yamanetoshi-116
$ bundle exec rake preview
微妙な操作はスルーで動作確認。