【Git】一度送ったプルリクエストを修正する方法【GitHub】

はじめに

最近、またテストが近づいてきて元気がなくなってきているaridaiです。

今回は一度送ってしまったプルリクエストに対して修正をする方法をメモしたいと思います。
最近、とあるゲームを開発することになり、バージョン管理を Git で、リポジトリを GitHub に置くことにしました。
ブランチの運用方法は git-flow をベースにしたブランチ割りに レビュー必須の プルリクエスト を組み合わせた感じですね。
これでうまくいくかどうかは分かりませんが、自身と仲間のスキルアップに繋がればいいなと思っています。

想定する状況

さて、今回は プルリクエスト で疑問に思ったことがあり、実験をしてみたのでそのメモを残します。
状況としては、一度送ったプルリクエストを修正する という感じです。

今回の開発では、「承認レビューがないとマージできない」というルールを決めてあるので、マージ前にレビューをして、修正リクエストが返ってきたら、修正が必要ならプルリクエストの内容を修正するというパターンが多くなると思います。
しかし、これまであまり触ったことがなく、修正はどのようにすればいいのかが良くわからなかったので実験したわけです。

そもそもプルリクエストとは?

プルリクエスト というのは base に設定したブランチに compare に設定したブランチを取り込んでもらうというリクエストです。
つまり、プルリクエスト とは ブランチ単位で行われるものです。

修正のやり方

結論から言うと、compare 側のブランチにコミットを追加すればいいのです。
プルリクエスト というのは、ブランチごとで見ているので、マージしてもらいたい側のブランチに変更があれば、ちゃんとプルリクエストの Commits 欄に追加されてくれています。

ブランチの設定

さて、リポジトリの設定に Branches -> Protected branches とあると思います。
ここでの設定についても軽く触れておきます。

"Require pull request reviews before merging"

この項目を有効にすると、プルリクエスト をマージする前に必ず承認レビューが必要になります。

"Dismiss stale pull request approvals when new commits are pushed"

これは今回の記事の内容に関連するのですが、compare 側のブランチに修正として追加のコミットが加えられたとします。
そのときに、既についていた承認レビューは無効にされます。
マージをするためには、追加のコミットも踏まえて、新たにレビューをしないといけません。

Include administrators

管理者権限を持っているユーザーであっても、設定した「承認レビュー必須」や「CIサーバーのテストの成功必須」などが適用されるようになります。

さいごに

GitHub の奥の深さにまたもや脱帽してしまいましたね。
いやーすごい。

今回、実験に協力してくれた林くんにも感謝です。

2017/11/12 20:06:33
コメントを投稿する