差分なしで GitHub の Pull Request を作る方法

はじめに

GitHub においてファイルの差分がない状態でプルリクエストを作る方法を解説します。

背景

GitHub を活用した開発において、ファイルの差分がない状態でプルリクエストを作りたい場面が意外と多くあります。
例えば、実装開始前に作成しておくことでモブプロメンバーやレビュアーにプルリクエストを共有したい場合などです。

課題

しかし、 GitHub においては、差分がない状態でプルリクエストを作ることができません。
試しにブランチだけ作ってみたところ、 "There isn’t anything to compare." と表示され、プルリクエストを作成するボタンが表示されません。
GitHub において差分がない状態でプルリクエストを作成しようとすると、 "There isn’t anything to compare." と表示される

解決方法

コミットの差分がない場合にプルリクエストが作成できない仕様になっているため、裏を返せば空コミットが 1 つでもあればプルリクエストが作成できることになります。
次の手順で実装の差分なしでプルリクエストを作成できます。
  1. ブランチを作成
  2. 空コミット git commit --allow-empty -m "feature"
  3. プッシュ
  4. プルリクエストを作成
GitHub において、空コミット 1 つで Open a pull request の画面に遷移できた
Creating a pull request - GitHub Docs
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request

Visual Stadio Code で空コミットする方法

参考までに、Visual Stadio Code の Git 結合においては、差分がないと「Commit」ボタンが活性化しないという問題があります。
Visual Stadio Code において、ファイルの差分がないと「Commit」ボタンが活性化しない
と思いきや、コミットメッセージを記入した後 Ctrl + Enter を入力すると、空コミットを作成するか尋ねるダイアログが表示されました。
このダイアログ上の「Create Empty Commit」ボタンを押下すると、空コミットが作成できます。
Visual Stadio Code において、コミットメッセージを記入した後 Ctrl + Enter を入力すると、空コミットを作成するか尋ねるダイアログが表示される

まとめ

GitHub において、差分がない状態でプルリクエストを作成する方法を解説しました。
実装前にプルリクエストを作成したい場合に活用してみてください。
ただ、空コミットが残ってしまうという欠点があります。より良い方法があれば教えてください。

ホームプロフィール外部リンクのため、別ウインドウで開きますプライバシーポリシー

© 2023 Oishi Takanori / Made with Gatsby.js