2012-07-10 32 views
10

Estoy sentado en un proxy que solo permite el tráfico http/https, puedo clonar un repositorio desde Github, pero tengo que buscar/presionar usando la URL https y el nombre de usuario/contraseña.Actualización de Git Submódulo sobre https

Ahora mi problema es un repositorio con submódulos, cuando ejecuto git submodule update agota el tiempo, y solo puedo suponer que es porque está usando una conexión SSH que está bloqueada. (ni siquiera me pide una contraseña en repositorios privados)

+0

Esta pregunta también aborda la cuestión con un 'Permiso denegado (publickey) Error '. – BlackVegetable

Respuesta

19

En su archivo .gitmodules en la raíz de su repositorio, y en el archivo .git/config, debe encontrar una sección para su submódulo. Puede editar la url allí para que se acceda a través de la solicitud https en lugar de ssh.

Por supuesto, ya puede ser una url ssh, en cuyo caso el problema puede ser otra cosa, pero este es el primer lugar para comprobar.

+0

Esto fue muy útil, pero mi problema era un poco más complejo ya que tenía subrepos dentro de subrepos. Así es como obtuve todos los archivos correctos editados en Linux: sed -i-e 's/git: \/\ // http: \/\ // g' .gitmodules; encontrar. -name config -type f -exec sed -i -e 's/git: \/\ // http: \/\ // g' {} \; – Tristan

+1

Ejecutar '' git submodule sync'' después de editar '' .gitmodules'', como sugiere la respuesta de François Koessler, ¡es un paso necesario para que esto funcione! –

16

editar el archivo .gitmodule con la dirección URL https, por ejemplo:

[submodule "vendor/engines/fat_free_crm"] 
    path = vendor/engines/fat_free_crm 
    url = https://github.com/fatfreecrm/fat_free_crm.git 

A continuación, ejecute git submodule sync para reflejar el cambio en el archivo de .git/config.

Créditos: https://stackoverflow.com/a/6632693/1273077

+1

gracias por mencionar 'git submodule sync' – MohamedEzz

Cuestiones relacionadas