GitHub

【GitHub】未完成でも共有したい時はDraft PRを使うべし!

GitHub Draft Pull Request

どうも、京都のスタートアップ企業でアプリを開発しているエンジニア、クウルス(@Qoo_Rus)です。

うちの会社の開発チームでは、普段はリモートで取り組み、週1回ミーティングをするというスタイルをとっています。

だからこそチャットサービスのSlackやソースコードバージョン管理に使うGitHub上でのコミュニケーションがより重要です。

加えて私はチーム内では一番経験の浅いエンジニアなので、1週間で決まった取り組みでわからないことや相談したいことができた場合、未完成の状態でもGitHubでソースコードを共有することがしょっちゅうあります。

だけど、未完成のままのソースコードをPullRequestに出すと、間違ってマージをしてしまう可能性があってちょっと怖いですね。

そんな時に使えるのが

Draft Pull Request

という機能です。

マージを防止した状態でPull Requestが出せるので、とっても安心です。

個人向けのリポジトリでは使えないのが少し残念なところですが。

この記事では

  • Draft Pull Requestの使い方
  • Draft Pull Requestを使えるリポジトリ

についてお話します。

クウルス
クウルス
2019年2月に追加された新しめの機能なので、GitHub使い始めの初心者だけでなく、長く使っている方も必見です

Draft Pull Requestの使い方

GitHub公式のPull Requestヘルプページに書かれているDraft Pull Requestsの説明です。

https://help.github.com/en/articles/about-pull-requests#draft-pull-requests

GitHub公式のPull Requestを紹介するブログです。

https://github.blog/2019-02-14-introducing-draft-pull-requests/

Create Draft Pull Requestを選択する

Pull Requestを出す際に、通常なら「Create Pull Request」をクリックしてOpenにしますが、ここで画像のように「Create Draft Pull Request」をクリックをしてやるだけで、未完成のPRが出せます。

すると

“This pull request is still a work in progress.”

(訳:このプルリクエストはまだ作業中です)

と表示され、マージボタンが押せない状態でのPRとなります。

完成したらReady for reviewを押す

作業が終わってマージボタンを押せるようにしたい場合は「Ready for review」をクリックします。

そうすると、通常のOpen状態のPRに切り替わります。

Draft Pull Requestは全リポジトリで使えるわけじゃない

GitHub Draft Pull Request(引用元:GitHub公式ページ https://github.com/pricing

GitHubでは個人向けのプランとチーム向けのプランがありますが、Draft Pull Requestは基本的に複数人での開発を想定した(と思われる)機能なので、プランごとの機能制限がかかっています。

ここでの情報は2019年10月20日(日)時点での公式ページの料金表に基づいて書いています。

今後のGitHubの仕様変更などで、使用可能なプランが変わる可能性もあります。

GitHub公式ページの料金表

https://github.com/pricing

個人向けはパブリックで使えて、プライベートで使えない

個人向けプランはFree(無料プラン), Pro(有料プラン)共にPublic repositoriesのみでDraft Pull Requestが使用可能です。

チーム向けはパブリックとプライベート両方使える

チーム向けプランでは全てPublic, Private問わずにDraft Pull Requestが使用可能です。

チーム開発でのコミュニケーションをより良くするためにDraft PRを活用しよう

チーム内で技術に差がある場合は、作業の途中でもソースコードを共有して相談をしたくなることがたくさんあります。(私がそうです)

また、マージされずにcloseされるPRもチーム開発におけるコミュニケーションでは非常に重要です。

Draft PRで、チーム開発でのコミュニケーションをより良くしていきましょう!

では再度ポイントの整理をして終わります。

  • Draft Pull Requestでマージを防いだ状態でPull Requestが出せる
  • Ready for Reviewを押して、マージを有効にできる
  • 個人向け(パブリックのみ)、チーム向けでDraft Pull Request使用可能