Читайте дальше:
http://www.alexeykopytko.com/2011/git-forget.html Иногда бывает нужно свернуть всю историю какого-то репозитария в один коммит. В этом случае git rebase -i не подходит, потому что от него останется два коммита, первый и последний.
На помощь нам приходит
низкоуровневая команда git-commit-tree.
Для начала скопируем целевой репозитарий куда-нибудь, просто на всякий случай:
$ git clone Project NewProjectДействуем:
$ cd NewProject
$ git reset `echo "начало работы над новым проектом" | git commit-tree HEAD^{tree}`
$ git reflog expire --all --expire-unreachable=now
$ git gc --aggressive --prune=nowПо желанию сообщение можно заменить на любое другое подходящее.
Проверяем:
$ git log
commit bc1f1192112cc1c8141e1efdc0601c7bb67d5aa0
Author: You
Date: Tue Aug 16 21:40:00 2011 +0900
начало работы над новым проектомВот и всё!