Gatsby Logo

ブランチが消せない理由

2018-09-28

俺はただ、ブランチを消したいだけなんだ!

皆さん、GitHub使ってますか?使ってますよね。GitHubでの一連の作業工程は、

  1. issueを作る
  2. 作業する
  3. プルリクを発行する
  4. レビューをしてもらう
  5. マージする
  6. プルリクを閉じる
  7. ブランチを削除する
  8. issueを閉じる

大体こんな感じではないでしょうか。で、今回問題なのはブランチを閉じる部分です。
GitHubでプルリクをマージする場合、マージした後にブランチを直ぐに閉じれるようマージのログにDelete branchというボタンが表示されます。普通は。
ある時、チーム開発にて自分が作ったブランチをmasterにマージしても何故か表示されませんでした。あれ?っと思いGitHub上のブランチ一覧から消そうとしますがゴミ箱ボタンが使えない。disabledなボタンになってる。

"You can't delete this branch because an open pull request depends on it."

ゴミ箱ボタンのポップアップにこんな記述がされていました。
え、でもmasterにはマージしたし、他のブランチから取り込まれているわけでもない。何故だ。。。
InsightsのNetworkを眺めていると、件のブランチから生えているブランチが一本。
「あ、こいつとmasterに差分があって消せないのか!」
という意味不明な思考に陥った自分は、そのブランチに対してmasterを取り込みました。しかし変化はなし。
なんでやねん!!!!!
そのブランチのプルリク(作業中)を見ていると、気になる項目が。
「あれ、これもしかしてmasterあてのプルリクじゃない?」
試しにプルリクのマージ先を件のブランチからmasterに変更したらドンピシャ。ちゃんと消せました。
GitHubでブランチが消せない場合はマージ先を確認してみてはいかがでしょうか?