gh pr update-branchでPRブランチを更新する
GitHub CLIでPull RequestのブランチをベースブランチのHEADと合流させるにはgh pr update-branchコマンドを使う。
gh pr update-branch [<number> | <url> | <branch>]
引数を省略すると、現在のブランチに紐づくPRが対象になる。
$ gh pr update-branch
✓ PR branch updated
PR番号を指定して更新もできる。
$ gh pr update-branch 23
✓ PR branch updated
GitHubのPR画面に表示される「Update branch」ボタンと同じ操作をCLIから実行できる。
デフォルトはマージコミットで更新される
gh pr update-branchはデフォルトでベースブランチをPRブランチにマージコミットで取り込む。ローカルのgit mergeでベースブランチを取り込む操作に相当する。
このため、ベースブランチが更新されるたびにマージコミットが積み重なる。
–rebaseオプションでリベース更新する
マージコミットを作らずベースブランチの最新コミットの上にPRブランチをリベースしたい場合は--rebaseオプションを指定する。
$ gh pr update-branch 23 --rebase
✓ PR branch updated
コミット履歴をきれいに保ちたい場合は--rebaseオプションが有効である。
なお、リポジトリの設定でリベースによる更新を許可していない場合、--rebaseオプションを指定するとエラーになる。
別リポジトリのPRを更新する
-R(--repo)オプションで別リポジトリのPRを指定して更新できる。
$ gh pr update-branch 23 --repo owner/repo
✓ PR branch updated
まとめ
gh pr update-branchを使うと、GitHubのWeb画面を開かずにCLIからPRブランチをベースブランチの最新の変更で更新できる。マージコミットでの更新がデフォルトであり、コミット履歴をきれいに保ちたい場合は--rebaseオプションを使う。
\第一線のプログラマーの行動原理を学べる!/
