Estoy tratando de configurar una configuración de implementación de git, en la que presiono mis cambios cuando estoy listo para un repositorio de git en un servidor de ensayo, que luego usa un enlace posterior a la recepción para implementar el código de las diversas ramas a las raíces web apropiadas.
Sin embargo, un problema que he encontrado es cada vez que ejecuto: git submodule update
Recibo una solicitud de contraseña, lo que hace que el script de implementación se bloquee.
Hasta ahora las cosas que he probado son:
- El submódulo está alojado en un repositorio público y dado que solo trato de leerlo, no veo por qué necesita la contraseña.
- Dicho esto, para tratar de solucionar esto, creé nuevas claves ssh para el servidor de ensayo y, cuando se ejecuta fuera de este caso, puedo clonar/recuperar bien sin ningún problema.
- También revisé los archivos .gitmodules y .git/config para asegurarme de que el submódulo se extrae del lugar correcto.
- Al ejecutar la actualización del submódulo de git y cuando se me presenta la solicitud de contraseña, simplemente dejar la contraseña vacía y presionar enter parece actualizar las cosas bien, pero el hecho de que recibo la solicitud es lo que está arruinando mi secuencia de comandos de enlace.
Una cosa a tener en cuenta es que cuando configuré el repositorio en mi servidor de ensayo, no pude simplemente clonar el repositorio de mi instancia de trabajo debido a las restricciones del firewall, así que en su lugar cloné una copia localmente y luego moví esa versión recién clonada al servidor. , y he sido capaz de presionarlo muy bien.
Buscando algún consejo o sugerencia que pueda obtener.
Tenía el mismo problema. En mi caso, fue causado por establecer el submódulo “url” en el https
URL en lugar de la git@
URL
-
Esto funcionó para mí. Sin embargo, simplemente cambiando la URL en
.submodules
y los archivos de configuración no funcionaron. De hecho, tuve que eliminar el submódulo complicado y agregarlo nuevamente.– Adán
18 de noviembre de 2019 a las 9:51
-
Lo mismo aquí, pero podría evitar eliminar por completo los submódulos ejecutando este comando:
git submodule sync --recursive
del repositorio principal. Esto actualizó todas las URL de los submódulos– Johnny Fekete
26 de mayo de 2021 a las 9:49
-
Si no desea sincronizar con el submódulo git, puede cambiar la URL de su
.gitmodules
assh@
y también necesita cambiar la URL del submódulo a ssh en.git/config
– felipekm
30 de marzo de 2022 a las 17:10
después de cambiar https://.. a git@… en el comando de ejecución .gitsubmodule
sincronización de submódulo de git –recursive
Si no puede reemplazar el https://
con git@
tiene la opción de simplemente configurar la contraseña en su
~/.netrc
archivo. Aquí el formato:
machine githostname.com
login yourgitusername
password yourgitpassword
Al proporcionar URL para submódulos, puede usar una ruta de archivo local o una URL.
Si proporciona una URL, intente usar algo como: “git@bitbucket.org:myOrg/myRepo.git”
Esto permite que el sistema git use el usuario apropiado para acceder al repositorio, si está usando el https://nombredeusuario@… entonces otro usuario deberá proporcionar las credenciales necesarias para acceder al repositorio, o usted mismo si no ha configurado git con un usuario.
Parece que volver a clonar el repositorio solucionó esto.
– SS44
03/04/2012 a las 17:37