Git、rebaseでコミットの順番を入れ替える。

こちらの記事の関連で、rebaseを使ってコミットの順番を入れ替えたいと思います。

以下のようにログがあり、

 $ git log --oneline 
92244c6 (HEAD -> master) add file2
7651e79 add file1
aec26dc initial commit

ここで,遡りたいコミットのひとつ前のコミットのハッシをコピーし,

 $ git rebase -i aec26dc

と打つとエディタがひらいてコミットが羅列されている状況で、

単純に行ごと入れ替えればコミットの順番を入れ替えられます。

(変更前)

pick 7651e79 add file1
pick 92244c6 add file2

(変更後)

pick 92244c6 add file2
pick 7651e79 add file1

Vimを使っている場合はコマンドモードでddと打つと一行まるごと削除&コピー(ヤンク)できるので、その後p通すとカーソルの下の行にddで切り取った一行を持ってくることができるはずです。