最初 Gist に貼ってたプログラムを修正していくうち Github にレポジトリを置きたくなったとします。Gist も git レポジトリなので、pull して remote を Github 宛に変えて push すればいいのですが、そのままだとコミットメッセージが空です。
コミットメッセージは git rebase -i
で修正できますが、以下の問題があります。
- もともとのコミットメッセージが空だと、そのままでは修正できないようです。
- 最初のコミットメッセージは修正できないようです。
git rebase -i
そのものの使い方は、ここでは書きません。
空のコミットメッセージを空でなくする
Rebasing a git history with empty commit messages にあるスクリプトで、空のコミットメッセージを置き換えます。
解答になってる方は、複数行のコミットメッセージが入っているとおかしくなるそうです。その下の lucasmo さんによる Perl スクリプトなら複数行対応。
これで git rebase -i
で、コミットメッセージを編集できるようになるので、最初以外のコミットメッセージを編集します。
最初のコミットメッセージを修正する
Edit/amend/modify/change the first/root commit in Git? より。
git checkout <sha1-of-initial-commit>
git commit --amend
git rebase --onto HEAD HEAD master