Ayúdame por favor, estoy tratando de ejecutar esto en mi terminal:
asgard@asgard-A7N8X2-0:~/CollegePortal$ git pull
error: cannot open .git/FETCH_HEAD: Permission denied
Entonces pruebo este
asgard@asgard-A7N8X2-0:~/CollegePortal$ sudo git pull
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Ayúdame, no entiendo este problema.
sudo
no ayude aquí en absoluto, ya que necesita acceso a sus claves ssh (no a las de la raíz).Respuestas:
Parece que el primero no funciona porque su usuario no tiene los permisos para cambiar ese directorio, y el segundo porque su usuario raíz no tiene las claves SSH correctas para acceder a ese repositorio git.
Dependiendo de lo que intente hacer, puede ser mejor clonar el repositorio en un directorio diferente, o tal vez
chown
el directorio actual para tener acceso completo para su usuariofuente
www-data
usuario el permiso para actualizar el.git
directorio. Estoy llamando al script de shell usando php sobre http en el navegador. Detalles aquísudo su
y actúas como root en un repositorio. ¡Un simplesudo chown -R <username> .
en ese directorio funciona mágico!Compruebe si tiene suficientes permisos en el
.git/
directorio. Deberías tener permisos de escritura. Puede configurarlos con el siguiente comando.Ve a la carpeta de tu proyecto:
fuente
chown: youruser: Invalid argument
chown -R youruser .git/
chown
.git/
y su carpeta principal para que funcionechown
no funciona, también ejecute este comandosudo chmod 0777 -R .git/
Si quieres dar permiso al grupo,
funcionó mejor para mí
Para MacOS
fuente
Este es un problema de permiso de UNIX. No lo use
sudo
para clonar el repositorio. No tiene las mismas claves ssh que root y no debería funcionar como root de todos modos. Intentels -la
encontrar los permisos en los archivos y usechmod
(osudo chown
) para corregirlos. Espero que ayude.fuente
sudo clone
para aceptar el nuevo acuerdo de licencia de XCode. La respuesta es aceptar el acuerdo, luego clonar sin sudo.En mi caso funciona bien después de eso:
fuente
La respuesta a este problema es asegurarse de que .git / FETCH_HEAD tenga privilegios de escritura y que todo estará listo.
Tuve este problema en Windows y se resolvió otorgando permisos de escritura.
En Unix se puede ejecutar
chmod a+rw .git/FETCH_HEAD
desde el repositorio del proyecto y luego debería funcionar.fuente
.git/FETCH_HEAD
solo si el problema de permiso está activado.git
.Intenta así,
Paso 1: Primero verifica quién eres devolverá el nombre de usuario actual, por ejemplo, ubuntu
Paso 2: Luego configura el permiso para tu usuario actual, en ese caso, ubuntu por
fuente
En mi caso, solo tenía acceso de lectura al archivo .git / FETCH_HEAD. Tuve que hacer "sudo chmod g + w .git / FETCH_HEAD" para poder hacer una solicitud de extracción.
fuente
.git/FETCH_HEAD
solo si el problema de permiso está activado.git
.sudo chmod g+w .git/FETCH_HEAD
sudo chmod g+w .git/FETCH_HEAD
, Solución perfecta.Estaba teniendo el primer problema (permiso FETCH_HEAD denegado) en Windows.
Lo arreglé ejecutando Git Bash como administrador (clic derecho, ejecutar como administrador).
fuente
Si no se ha agregado al grupo que posee
.git/
, entonces debería hacerlo.Lo que esto hace:
.git/
y agrega su usuario a ese grupo..git/
..gitignore
lo que probablemente necesitarásSi recientemente hiciste algo como esto (te agregaste al grupo propietario
.git/
), entonces debes cerrar sesión y volver a iniciarla antes de que puedas escribir.git/FETCH_HEAD
durante tugit pull
.fuente
Establezca el permiso para su usuario actual ejecutando el comando
$ sudo chown -R <username> .git/
fuente
Simplemente vaya a su carpeta raíz y ejecute este comando:
fuente
Ejecutando Windows 7, cuando tuve este problema fue porque había ocultado la carpeta .git. Los permisos estaban bien, solo estaba oculto. Mostrar la carpeta lo resolvió.
fuente
Esto resolverá todos los permisos en la carpeta
fuente
Esto funcionó para mí:
No más permisos denegados errores en git. 🎉
fuente
Mire el propietario y el grupo del
.git
directorio con (primero vaya al directorio padre de .git)ll .git
, mire el grupo y el propietario del directorio, agregue su usuario al grupo del propietario consudo usermod -a -G yourusername groupsofonwner
, luego cierre la sesión => inicie sesión y todo funciona .Así que en verano
ir al directorio padre de git
encontrar el dueño del grupo del
.git
direcotryagrega tu usuario a ese grupo
Cerrar sesión e iniciar sesión en el sistema para que este cambio surta efecto.
Disfrútala ;)
fuente
Tengo ese problema cuando la carpeta .git está oculta y todos los archivos también están ocultos. Haga que la carpeta .git esté oculta sin la actualización recursiva de archivos y funcionará.
fuente
Las razones de este error pueden ser múltiples, pero en mi caso actualicé la rama con root y luego, cuando intenté actualizarlo con un usuario normal, me dio un error.
pruebe ambas soluciones, una debería funcionar para usted
Si no funciona, intente la siguiente solución, espero que resuelva su problema
fuente
Recibí este mensaje al usar extensiones git para windows. Mi solución fue simplemente cerrar las extensiones de git y luego volver a abrirlas como administrador
fuente
En mi caso,
Este comando funciona.
fuente
Este problema surge cuando no otorga permisos suficientes a la carpeta .git. Para resolver este problema-
Ingrese este comando
Espero eso ayude..!!
fuente
Tuve exactamente el mismo error, pero en mi caso, el problema fue el resultado de haber reconstruido Apache después de una actualización a la versión de PHP. En pocas palabras, olvidé instalar el módulo Apache 'suexec'.
No tenía nada que ver con el grupo o la propiedad. Eso solo me tomó dos días para darme cuenta, alguien me disparó ...
fuente
En mi caso, tenía un sistema de arranque dual (Windows 10 y Linux) con la carpeta del proyecto en el disco NTFS. Resultó que en otra actualización, Windows 10 habilitó por sí mismo "inicio rápido" en su configuración. Después de desmarcarlo en Windows, el "error: no se puede abrir .git / FETCH_HEAD: Permiso denegado" en Linux desapareció.
fuente
Obtuve esto porque tenía más de 1 cuenta de usuario en mi caja. Estaba conectado como usuario A y estaba en un directorio para el usuario B. El usuario A no tenía permiso para las cosas del usuario B. Una vez que me di cuenta de que no estaba donde pensaba que estaba en el sistema de archivos, este error tuvo sentido.
fuente
Si encuentra el mismo problema en el servidor de Windows, debe ejecutar la línea de comando con suficiente permiso, como el permiso de administrador.
fuente
para usuarios de MacOS (si High Sierra o una versión superior) use esto:
fuente
TL; DR: en los sistemas de arranque dual, desactive el inicio rápido para Windows
Estaba teniendo este problema en mi sistema Ubuntu / Windows de arranque dual. No pude escribir nada en ninguna de las particiones que se comparten con Windows (particiones NTFS).
Recientemente reinstalé ambos y olvidé activar el "Inicio rápido" en Windows. Todo volvió a la normalidad después de reiniciar en Windows y apagar esa característica y reiniciar de nuevo.
fuente
En mi caso trabajo que: acabo de escribir
sudo
antes del comando:fuente