git で一つのコミットを分割する ― 2019年08月28日 13時03分01秒
git split 等があれば良いと思ったことはあるが残念ながら無い。ちょっと手間取るが、rebase と reset を使って分割できる。なお、間違えたら悲惨な目になるので、レポジトリの完全バックアップは忘れないようにしたい。
まずは、一度全部コミットを取消にして、二回に分けてコミットし直す時のコマンド。
次に、一部のコミットだけを取消にして、二つ目のコミットを作成する方法。
% git rebase -i <sha または --root>
% git reset HEAD^
% git add <files>
% git commit -m '1st'
% git add <files>
% git commit -m '2nd'
% git rebase --continue
どちらかが便利かはファイルの数に依る。
% git rebase -i <sha または --root>
% git reset HEAD^ -- <files>
% git add <files>
% git commit -m '2nd'
% git rebase --continue
最近のコメント