1. Magitの画面を開きます。
M-x magit-status
2. Log一覧を表示します。
M-x magit-log-popup
(l l
)
3. rebase範囲を指定
例えばmy commit 5
をfixup
(前のコミットへ含める)するとします。
my commit 5
のひとつ前my commit 4
の位置にカーソルを移動し
M-x magit-rebase-interactive
(r i
)
この画面ではC-c C-k
でrebaseのキャンセルが可能です。
4. rebase内容を指定
my commit 5
の位置で f
を押してfixupマークを付けます。
keybind | mark | description |
---|---|---|
c | pick | 何もしない |
e | edit | 編集 |
s | squash | ひとつ前のコミットに含める |
f | fixup | squashと同じだがメッセージの編集はしない |
r | reword | メッセージの編集 |
C-c C-c
でマークした内容を確定させます。
今回はfixupのみため、my commit 5
がログから消え、
my commit 5
の変更内容は my commit 4
に結合されます。
editマークを付けて編集中に混乱した場合はM-x magit-rebase-abort
(r a
)で破棄できます。
rebase前の状態に戻したい
M-x magit-reflog-head
rebaseを完了する直前のmy commit 8
にカーソルを置き、M-x magit-reset
(x
)で戻します。