¿Cómo volver a intentar cuando falle la clonación de git?

Hola, tengo un script de shell que git clona un repository en uno de sus pasos,

Pero me di count de que el clon git fracasa en gran medida, ¿tenemos que volver a intentarlo cuando se produce un problema random?

git clone https://xxxxxx.git Cloning into 'xxxx'... error: RPC failed; result=56, HTTP code = 200 fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed

¿Intentó usar el protocolo git?

 git clone git:// urls for git protocol. 

Verifique el código de retorno de la operación de clonación. También puede parametrizar el número de veces para volver a intentar en lugar de hardcoding a 5 a continuación. Puede o no querer dormir a continuación.

  n=0 until [ $n -ge 5 ] do git clone "$1" && break n=$[$n+1] sleep 1 done 

Invoque este script y pase un argumento de la URL del repository