Emacs
Git
magit

Magit の cherry-pick で squash 的なものをやるやり方

More than 1 year has passed since last update.

Magitはたまに操作体系を変えてくることがあるので Magit 20170913.1424 のバージョンでの話と思ってください。

いくつかコミットを取り出してそれを一つのコミットに圧縮して別のブランチに適用したいときは (以下特に注釈がないときは Magit 上での操作です)、

  • Lo (Log Other) 等で取り込みたいコミットの存在するブランチのログを表示させる
  • 表示されたログで C-space などを使ってコミットを選ぶ
  • Aa (Cherry Apply) を使ってワーキングツリーとインデックスに選択したコミット内容を取り込む。このコマンドが実行されて競合がなければ選ばれたコミットがワーキングツリーに適用されインデックスに add された状態になっています
  • あとは cc → コミットメーッセージ編集 → C-c C-c と通常のコミット手順と一緒です

以上