【GitHub】 マージしちゃった特定のPull Requestを取り消し(Revert)したい
スポンサーリンク

上司
とらのこ君、さっきのPull RequestをmasterブランチにMergeしてしまったのだけど、タイミング的に別の人がやってた修正もMergeされちゃって良くないからRevertしてもらえるかな?

とらのこ
あ、はい、わかりました!やっておきます!

とらのこ
RevertってGitHubでどうやるんだ。。
はい、今朝の僕です。
前職まで、バージョン管理ツールはSubversion(SVN)を使っていたこともあり、恥ずかしながらGitHubを使ってRevertをするのは初めての経験でした。
コマンドラインでやる方法もあるのでしょうが、初めてのことはUIでやったほうが視覚的で分かりやすくミスがないかなと思ったので、MergeされたPull RequestをGitHubでRevertする方法を探して実施しました。
実際のGitHubの画面を見せながら、GitHubでRevertする方法を見ていきましょう。
こんな方にオススメ
・GitHubを使って特定のPull Request(プルリクエスト)のMergeを取り消したい
具体的なステップは以下のとおりです。一つずつ見ていきましょう!
  1. closedのPull RequestからMergeを取り消したいPull Requestを選択
  2. 対象のPull Requestの詳細画面でRevertボタンをクリック
  3. Mergeを取り消すための戻しPull Requestを作成
  4. 作成された戻しPull RequestをMerge

closedのPull RequestからMergeを取り消したいPull Requestを選択

まず、GitHubのリポジトリにおいて「Pull requests」タブを開き、Mergeを取り消したいPull Requestを選択します。

今回は「masterプルリク_sample2」というPull Requestがそれに該当すると思ってください。

git-sample1

該当のPull Requestをクリックして、Pull Requestの詳細画面に遷移すればOKです。

git-sample2

スポンサーリンク

対象のPull Requestの詳細画面でRevertボタンをクリック

下のほうに「Revert」ボタンがあるので、クリックします。

git-sample3

Mergeを取り消すための戻しPull Requestを作成

さきほどの「Revert」ボタンをクリックすると、Mergeを取り消すための戻しPull Requestを作成する画面に遷移します。

タイトルの変更や概要の追加をしたい場合は適宜行ったうえで、「Create Pull request」ボタンをクリックします。

git-sample4

戻しPull Requestが作成されましたね👍

git-sample5

作成された戻しPull RequestをMerge

最後のステップとして、先程作成した戻しPull RequestをもってMergeしていきます。

ここで「なんでまたMerge?」と思う人もいるかもしれませんが、戻しPull Requestには「特定のPull RequestでMergeしたファイルを元に戻してよ」という情報が詰まっているイメージで、それをMergeすることで初めて取り消しが完了するという感じです。

戻しPull Requestに対して、特にコメントがなければ、「Merge Pull request」ボタンをクリックします。

git-sample6

確認を促す画面になるので、問題なければ「Confirm merge」ボタンをクリックします。

git-sample7

少しすると、Mergeが完了し、「masterプルリク_sample2」でMergeした内容を取り消すことができました🙌

はい、以上になります。

この記事を見て、同じ悩みをもった方の解決の助力が出来たら嬉しいです!!

スポンサーリンク

Twitterでフォローしよう

おすすめの記事