2 ポイント 投稿者 a1eng0 2025-08-23 | 2件のコメント | WhatsAppで共有
  • GitHub で stacked PR を自動で rebase してくれる GitHub CLI 拡張ツール
  • Graphite や stacked-pr のような優れたツールもあるが、これらは導入のハードルが高すぎる
    • stacked PR は git ではなく、そのツールを使ってのみ作成しなければならなかったり
    • ローカル設定ファイルのオプションが非常に多かったりする
  • Zero-configuration と GitHub の PR 機能だけで十分な、とてもシンプルな rebase ツールが必要だったため自作

次のような stacked PR が存在する状況:

  • #102 (main <- stack-1)
  • #103 (stack-1 <- stack-2)
  • #104 (stack-2 <- stack-3)

PR #102 を main にマージしたあと、#103 と #104 の PR を rebase する必要がある。

  • たった 2 つの PR を rebase するだけでもかなり面倒で、
  • 実際には #102 に追加コミットが入るなどの理由で graph が複雑になった場合、共通の親を探す git コマンドを思い出すのは非常に厄介
  • また、stacked PR は日常的に使うものではなく、時々必要な場合にだけ使うため、なおさら忘れやすい

次のコマンドで簡単に rebase を自動実行できる:

gh domino --dry-run  
gh domino [--auto]  

より詳しい例は README.md で確認できます。

2件のコメント

 
lamanus 2025-08-25

えっ、GitHubが自動でやってくれるものだと思っていましたが、違うんですか?!

 
a1eng0 2025-08-25

GitHubが提供する safe delete branch 機能を使うと base branch は自動で変更してくれますが、squash merge の場合は git history の関連がないため conflict 状態になってしまいます!

また、safe delete を使わずに git でブランチを直接削除する場合も、base branch を変更しなければならない煩わしさがあります!