Trabajando desde git versión 1.8.3.1;
git clone -c core.askPass $echo url/or/path/to/git/repo
La configuración core.askPass
funciona pasando el control de manejo de credenciales al programa antes mencionado. Sin embargo, dado que $echo
no puede hacer nada excepto la salida, el intento de clonación falla rápidamente y se aplica la respectiva redirección de bash. Este código solo se invoca en el caso de que el repositorio de git sea privado y canalizará la salida de error que indica que la autenticación falló para el repositorio en particular. Puede probar esto en el https://github.com/git/git
repositorio público en un repositorio privado que conozca.
Para endulzar el trato, ni siquiera necesitaría hacer referencia a un programa como echo
en primer lugar. Simplemente pasar la configuración de git -c core.askPass
sin la siguiente entrada aún causaría un error en el caso de que el repositorio sea privado ya que el código no sabrá a qué programa descargar el manejo de credenciales. Si bien este es ciertamente un método más antiguo y simple que los otros mencionados aquí, no sé si tendrá el mismo efecto en versiones anteriores de git.