Fusionando varios commits en uno en Git

Tengo un repository de git de twig único, que tiene ~ 4000 commits. Quiero agrupar las confirmaciones según las dates en que fueron creadas. Por ejemplo, dados los compromisos a continuación:

abcd 2013-4-1 12:10 abce 2013-4-1 13:27 ... cdef 2013-4-1 18:16 cdeg 2013-4-2 09:23 ... gade 2013-4-2 18:20 fdeg 2013-4-3 09:42 ... 

Me gustaría get un historial de confirmaciones, como todos los commit de abcdcdef combinados en un commit, todos los cdeg-gade en uno, y así sucesivamente. Traté de usar rebase como

 git reset --hard cdef git rebase -i abcd 

No logré aplazar todas las confirmaciones, recibí el siguiente post de error.

 "Cannot 'squash' without a previous commit" 

Traté de aplastar un compromiso a la vez, funcionó, pero tardó tanto que claramente no es factible.

¿Cómo puedo fusionar los commits de acuerdo a sus dates de creación?

Marque el primer commit de cada día como "reword" y el rest como "fixup":

 reword xxxxxx First commit from 2013-04-01 squash xxxxxx another commit from 2013-04-01 squash xxxxxx another commit from 2013-04-01 reword xxxxxx First commit from 2013-04-02 etc 

Esto le pedirá que escriba un nuevo post de compromiso para cada día.

Tenga en count que hacer commits por time es casi siempre lo incorrecto . Para que herramientas como git bisect funcionen correctamente, cada confirmación en un repository debe representar un cambio de "tamaño de mordisco".