gs branch split を使用すると1つのブランチを特定のコミット位置で複数のブランチに分割できます。
大きな機能を論理的な単位で複数のPRに分けたい場合に便利です。
基本的な使い方
# 対話的に分割
gs branch split
# 特定のコミットで分割
gs branch split --at HEAD^:new-branch-name
# 複数箇所で分割
gs branch split --at HEAD~2:part1 --at HEAD^:part2
主要オプション
--at COMMIT:NAME
分割位置を指定します。
# 特定のコミットハッシュで分割
gs branch split --at 1234567:feature-a
# HEADから2つ前のコミットで分割
gs branch split --at HEAD~2:refactor-part
--branch NAME
現在のブランチ以外を分割対象にします。
gs branch split --branch feature-branch --at HEAD^:split-branch
実例
分割前
feature-branch
├── commit3: Add tests
├── commit2: Implement feature
├── commit1: Setup
└── main
分割実行
gs branch split --at HEAD^:implement-feature
分割後
feature-branch (commit3のみ)
├── implement-feature (commit2まで)
├── commit1: Setup
└── main
参考