【Git】プルリクエストをマージ済みを取り消したい【PRのリバート方法】

Git

git

kamiです。
TwitterYoutubeもやってます。

今回はプルリクエストをマージ済みを取り消したい【PRのリバート方法】の紹介です。

git revertとは?

git revertは、指定したコミットを打ち消す新しいコミットを作成するコマンド方法になります。
リバートすることで、「過去の変更を取り消しますが、その取り消しを行ったことを履歴に残す」ことになります。

icon

リバートは初学者には分かりにくいので、補足します。

一度変更した内容を元に戻すように修正を加えるのではなく、取り消すと言う形です。

リバートではない例

以下の例では、ただの相殺になります。
バージョン管理されているので、結果的には+-0で追加されてない結果になります。

  1. コミットで、「Aを追加」を行います。
  2. コミットで「Aを取り消し」を行います

リバートの例

以下の例では、リバートになります。
相殺ではなく、リバートとして取り消すことで、+-0で追加されてない結果になります。

  1. コミットで、「Aを追加」を行います。
  2. リバートで、「Aを追加」の取り消しを行います。

こちらもバージョン管理されているので、履歴には残ります。

コミットした履歴の確認

ログの確認はさまざまですがref logで確認します。

git reflog

スポンサードサーチ

対処のコミットSHAを確認

リバートしたい内容を確認して、コミットSHAを確認します。

xxxxxxx (origin/master, master) HEAD@{5}: checkout: リバートしたいコミットSHA

対処のコミットSHAはリバート後は含まれないです

revertを行う

先ほども言いましたが、対処のコミットSHAはリバート後は含まれません。

git revert リバートしたいコミットSHA

スポンサードサーチ

Github側でリバート

コミットした内容の画面でRevertボタンが表示されているので、Revertボタンを押下してください。

icon

注意点としては、ボタン押下するとPRが作られてしまうので、間違えて押さないようにしてください。

Github側でリバートをマージ

PR作れたら、マージしてください。
マージで変更の取り消しが取り込まれます。

間違えてリバートをPRした場合

リバートボタンで生成されたブランチを削除して、pushしてください。

git branch -d revert-brunch

ブランチ削除したらpushします。

git push origin -d revert-brunch

以上です。

GitGit

Posted by kami