Do Not Merge WIP for GitHubを使ってマージの事故を防ぐ

ishigaki

こんにちは、Gaji-Labo アシスタントエンジニアの石垣です。

今日は僕が普段使っているDo Not Merge WIP for GitHubというGoogle Chrome拡張機能をご紹介したいと思います。

Do Not Merge WIP for GitHubを使うメリット

GitHubでプルリクエストを使ってチーム開発している時、まだWIP(Work in Progress = 作業途中)だったり、未達成のタスクがある時はプルリクエストをマージ出来なくさせたいものです。

これが明らかに作業中であればマージする危険は少ないですが、もしレビュー後に必要なタスクがあった場合(ダミーファイルの削除など)、万が一それを漏らしてマージしてしまった場合、差し戻したり追加のプルリクエストを立てるなどして作業の進捗に大きい影響が出てしまいます。

そこでこのDO NOT MERGE for GitHubという拡張機能を使うと、

  • プルリクエストのタイトルに「WIP」「wip」「Do Not Merge」「DNM」の文言が入っている状態
  • プルリクエストの description に未チェックのチェックボックスがある状態

このときに、マージボタンを無効化することができます。

プルリクエストのタイトルに「WIP」が入っていたり、description に未チェックのチェックボックスがあると…
ボタンが薄くなってマージが無効化される

これを使っていると不用意にマージする可能性を減らすことが出来るので、とてもお世話になっています。

(GitHub には Draft Pull Request という機能もありますが、途中からまたWIPに戻したい時もあるため、通常のプルリクエストにタイトルでWIPを付ける形にしています。)

副次的な効果

また、この拡張機能を導入したことで、作業途中のプルリクエストには「WIP」と明記して作業途中であることをしっかりと示す癖が付きました。

特にここ数日からリモートでの稼働が多くなったので、進捗可視化のためにもWIP状態かどうか示すこと、またWIP状態でもプルリクエストを立てて作業を見える状態にしておくことは重要なことだなと強く感じています。

まとめ

今日はDo Not Merge WIP for GitHubというGoogle Chrome拡張機能をご紹介しました。

このようなツールを上手く使って業務を円滑に進めていくことをいつも模索しています。

Gaji-Laboでは、React+Reduxが得意なフロントエンドエンジニアを募集しています

弊社ではフロントエンドのエンジニアさんを随時募集しています。現在は特にReact+Reduxの設計・実装に強いフロントエンドエンジニアさんを求めています! 大きな会社や事業会社とはひと味もふた味も違うGaji-Laboを味わいに来ませんか?

もちろん、一緒にお仕事をしてくださるフリーランスの方やパートナーさんも随時募集中です。まずはお気軽に声をかけてください。お仕事お問い合わせや採用への応募、共に大歓迎です!

求人応募してみる!

関連リンク


ishigaki

投稿者 石垣 祥太郎

アシスタントエンジニアとしてHTML/CSS/JavaScriptの実装やRailsの組み込み、スタイルガイドの構築などを担当しています。 業務の中でさまざまな学びを吸収しながら、文書構造やアクセシビリティに目を向けたマークアップの学習やJavaScriptの学習などを行っています。チームに貢献できるエンジニアとなるために日々奮闘中です。