git rebase メモ

備忘録。基本的に svn を使うことが多いので、たまに Git を使うとコマンドを忘れている件...。

git rebase コマンドを実行する。-i HEAD~2 とすると直近2つのコミットが表示される。

> git rebase -i HEAD~2

そして、これを

pick <commit_hash> hogehoge
pick <commit_hash> fugafuga

こうする。

pick <commit_hash> hogehoge
f <commit_hash> fugafuga

fugafuga のコミットが hogehoge のコミットに統合される。実際はコミットをひとつにまとめた新しいコミットになると思われる。なので、新しいコミットには別のハッシュ値が割り当てられる。

ただし、未コミットの変更がある場合は rebase できない。変更を戻すか、git stash で一時的に退避させる。