Lesstep
Bitbucket Cloud・Data Center・プルリク・2026年11月2日

マージした Bitbucket のプルリクを元に戻す

マージしたプルリクそのものは取り消せませんが、その変更は元に戻せます。Revert は、マージを取り消すコミットの入った新しいブランチを作り、そこから新しいプルリクを開きます。なので取り消しも、ほかの変更と同じようにレビューを通ります。Bitbucket Cloud にも Bitbucket Data Center にもこのボタンがあり、使えない場合がそれぞれ違います。以下は、Atlassian の プル リクエストのマージ(Cloud)、Unable to revert pull request in Bitbucket Cloud、How Revert Pull Request works(Data Center)をもとにした、それぞれの動きです(後の2つは英語)。

Bitbucket Cloud

マージ済みのプルリクで、右上の Revert を押します。Revert pull request の画面で Branch name(新しいブランチの名前)を変えられ、Revert を押すとブランチができます。中身は、マージしたコミットを取り消すコミットが1つです。続けて、そのブランチを元にした Create a pull request の画面が開くので、レビュアーを足して Create を押します。プルリクの作成をやめても、ブランチはリポジトリに残ります。

Fast forward か Squash でマージしたプルリクは、Revert できません。Bitbucket は「Unable to revert pull request」と答え、取り消すと「1つ以上のファイルで衝突が起きる」と書きます。衝突のように読めますが、この2つのマージ方法では原因はマージ方法そのものです。この2つに対応してほしいという要望 BCLOUD-21987(2022年6月)は、2026年11月2日の時点でまだ Gathering Interest(投票19)でした。Squash だけの古い要望 BCLOUD-19983 は Won't Fix で閉じられています。Atlassian の回避策は、git で戻すことです(下)。

Bitbucket Data Center

Data Center 10.4(2026年5月)で、プルリクの概要ページに Revert のボタンが付きました。使えるのは、ターゲットのブランチにコミットが1つだけ残るマージ方法です。

Fast-forward や Rebase, fast-forward でマージしたプルリクは、コミットがターゲットに1つずつ並ぶので対象外です。後から同じ行が変わっていると、取り消しがきれいに当たらないことがあります。そのときは衝突を解いて git で戻します。10.4 より前の Data Center には Revert のボタン自体がありません。

git で戻す

ターゲットからブランチを作り、マージでそこにできたコミットを revert して、ブランチをプッシュし、そこからプルリクを開きます。

git fetch origin
git switch -c revert-pr-21 origin/main
git revert -m 1 <merge commit>     # Merge commit か Rebase and merge のとき
git revert <squash commit>         # Squash のとき
git push -u origin revert-pr-21

マージのコミットには親が2つあり、-m 1 はターゲットのブランチの側を残す指定です(git revert)。Fast-forward でマージしたときは、プルリクのコミットそのものを revert します。Atlassian の Cloud の記事も、マージのコミットには同じ git revert -m 1 を挙げています。

取り消した変更を戻したいとき

マージのコミットを取り消した後、同じブランチをもう一度マージしても、その変更は戻りません。元のコミットはまだターゲットのブランチの履歴にあるので、git はもうマージ済みと見ます。届くのは、その後にブランチへ足したコミットだけです。Atlassian の Data Center の記事は、戻す方法を2つ挙げています。取り消しのコミットをさらに取り消すか、元のコミットをブランチへ cherry-pick かリベースし直して新しいハッシュにし、新しい変更としてマージするかです。Rebase and merge でマージしたプルリクは、コミットがターゲットで書き換わっているので、ふつうはどちらもせずにもう一度マージできます。

IntelliJ IDEA で

Pull Request Inbox for Bitbucket は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。Bitbucket Cloud と Bitbucket Data Center で自分のレビュー待ちのプルリクを IDE のツールウィンドウに並べます。Revert は Bitbucket の画面のボタンで、プラグインにはありません。git で戻すときは、IDE の Git のログに Revert Commit があり(JetBrains の説明・英語)、ブランチをプッシュした後はプラグインからプルリクを作れます。リポジトリの既定のレビュアーが、Bitbucket の作成画面と同じように付きます。プルリクの作成は有料の機能で、30日間の無料試用があります。読むのは無料のままです。

JetBrains Marketplace で入れる

Bitbucket は Atlassian Pty Ltd の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Atlassian・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:マージ方法 · 却下と再オープン · 宛先ブランチを変える · マージの衝突 · English