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


こんにちは、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では、JavaScriptフレームワーク経験が豊富なパートナーさんを募集しています

Gaji-Laboでは、開発チームの一員としてプロジェクトに一緒に取り組んでくれる業務委託のパートナーさんを募集しています。

現在は特にJavaScriptフレームワーク実践と業務経験が豊富なWebフロントエンドエンジニアを必要としています。React + TypeScript、Vue.js、Next.js、Nuxt.js など、あなたの得意なフレームワークを教えて下さい!

パートナー契約へのお問い合わせもお仕事へのお問い合わせも、どちらもいつでも大歓迎です。まずはオンラインでのリモート面談からはじめましょう。ぜひお気軽にお問い合わせください!

お問い合わせしてみる!

関連リンク


投稿者 Ishigaki Shotaro

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