¿Cómo convertir un clon superficial de Git a un clon completo?

Seguimiento de esta pregunta: si tengo un clon superficial, ¿cómo recuperar todos los compromisos anteriores para convertirlo en un clon completo?

Puede ejecutar git fetch --depth=1000000 (suponiendo que el repository tenga menos de un millón de confirmaciones).

El siguiente comando (git versión 1.8.3) convertirá el clon superficial en uno normal

 git fetch --unshallow 

Luego, para acceder a todas las sucursales en origen (gracias @Peter en los comentarios)

 git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" git fetch origin 

Necesitaba profundizar un repository solo hasta un compromiso particular.

Después de leer man git-fetch , descubrí que no se puede especificar una confirmación, pero se puede especificar una fecha:

 git fetch --shallow-since=15/11/2012 

Para aquellos que necesitan profundización incremental, otra cita del man :

 --deepen= 

Similar a –depth, excepto que especifica el número de confirmaciones desde el límite poco profundo actual en lugar de desde la punta de cada registro de sucursal remota.

Puedes intentar esto:

 git fetch --update-shallow