GitHubにpushしたcommitログを完全に削除する方法

github
"git rebase -i --root"を使います。

photo-credit: IconAarchive

実行する前には、必ずバックアップをとっておきましょう


first commitごと commitログを削除する方法です。


git rebase -i --root



pick 7537b31 コミットメッセージ1
pick 7537b32 コミットメッセージ2
pick 7537b33 コミットメッセージ3
pick 7537b34 コミットメッセージ4




ここで一番下の pick の行以外を削除して保存して閉じます。


すると、以下のようなメッセージが表示されます。

error: could not apply 7537b39... rebuild commit log

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To check out the original branch and stop rebasing run "git rebase --abort".
Could not apply 7537b39... rebuild commit log



消した行のコミットがなくなるので、現在の状態との整合性を保つ必要があらしいです。

git rebase --continue


git add -A

git rebase --continue #コミットメッセージを記述して保存します。

git log

git push origin +master



参考:
http://pandazx.hatenablog.com/entry/2012/10/14/005716