もし FuelPHP のバグを見つけたら (5)〜Pull Request 後の修正
- もし FuelPHP のバグを見つけたら〜バグ報告の仕方
- もし FuelPHP のバグを見つけたら (2)〜バグ修正コードを Pull Request するための準備
- もし FuelPHP のバグを見つけたら (3)〜バグ修正コードを Pull Request する方法
- もし FuelPHP のバグを見つけたら (4)〜ドキュメントの修正を Pull Request する方法
の続きです。
前の記事を読んでいない場合は、先に読むことをお薦めします。
今日は、Pull Request 後にコア開発者などからコメントが付いて、Pull Request した変更を修正する場合です。
修正前の準備
まず、1.1/develop ブランチを最新の状態にします。
$ git checkout 1.1/develop $ git fetch upstream $ git merge upstream/1.1/develop
ログを確認すると、以下のように開発が進んでいます。
Pull Request 用のブランチ(ここでは fix_form)を rebase して最新状態を反映させましょう。-f オプションを忘れないように。
$ git checkout fix_form $ git rebase -f upstream/1.1/develop
First, rewinding head to replay your work on top of it...
Applying: improve Form::prep_value
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging classes/form/instance.php
Auto-merging tests/form.php
CONFLICT (content): Merge conflict in tests/form.php
Failed to merge in the changes.
Patch failed at 0001 improve Form::prep_valueWhen you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
コンフリクトしましたので、エディタで開いて修正します。修正が完了したら、
$ git add tests/form.php $ git rebase --continue
として rebase を完了します。これで、Pull Request に修正を追加する準備ができました。
Pull Request の修正
普通に修正してコミットします。sign-off を忘れずに。
そして、GitHub に Pull Request 用のブランチを push します。-f オプションを忘れないように。
$ git push -f origin fix_form
push が完了すれば、Pull Request に自動的に反映されます。これで完了です。
「もし FuelPHP のバグを見つけたら (6)」へ続く。