setup - ssh linux github
Intentando arrastrar con el error: no se puede abrir.git/FETCH_HEAD: Permiso denegado (16)
Esto funcionó para mí:
- Haga clic con el botón derecho en la carpeta .git
- haga clic en obtener información
- establece permiso para tu usuario
- haga clic en el ícono de Cog y haga clic en Aplicar a los elementos incluidos
No más permisos denegados de errores en git. 🎉
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
Ayudame, no entiendo este problema.
Al ejecutar Windows 7, cuando tuve este problema fue porque había ocultado la carpeta .git. Los permisos estaban bien, simplemente estaba oculto. Mostrar la carpeta lo resolvió.
Compruebe si tiene suficientes permisos en el directorio .git/
. Deberías tener permisos de escritura. Puede configurarlos con el siguiente comando.
Ve a la carpeta de tu proyecto:
chown -R youruser:yourgroup .git/
En mi caso, funciona bien después de eso:
rm -f .git/FETCH_HEAD
En mi caso, solo tuve 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.
Estaba teniendo el primer problema (permiso FETCH_HEAD denegado) en Windows.
Lo arreglé ejecutando Git Bash como administrador (clic derecho, ejecutar como administrador).
Este es un problema de permisos de UNIX. No use sudo para clonar el repositorio. No tiene las mismas claves ssh que root y no debería funcionar como root de todos modos. Pruebe ls -la para encontrar los permisos en los archivos y use chmod (o sudo chown) para corregirlos. Espero que ayude.
Intenta de esta manera,
Paso 1: primero verifica quién eres devolverá el nombre de usuario actual, por ejemplo, ubuntu
$ whoami
Paso 2: A continuación, establezca el permiso para su usuario actual, en ese caso, ubuntu por
sudo chown -R ubuntu .git/
La respuesta a este problema es asegurarse de que .git / FETCH_HEAD tenga privilegios de escritura y estará todo listo.
Tuve este problema en Windows y se resolvió otorgando permisos de escritura.
En Unix se puede ejecutar chmod a+rw .git/FETCH_HEAD
del repositorio del proyecto después del cual debería funcionar.
Lo obtuve porque tengo 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 usar las cosas de B. Una vez que me di cuenta de que no estaba donde pensé que estaba en el sistema de archivos, este error tenía sentido.
Mire al propietario y grupo del directorio .git
con (primero vaya al directorio principal de .git) ll .git
, mire el grupo y el propietario del directorio, agregue su usuario al grupo del propietario con sudo usermod -a -G yourusername groupsofonwner
, luego logout => iniciar sesión y todo funciona.
Entonces en summeries
ir al directorio padre de git
$cd your path
encontrar al propietario del grupo del
.git
de.git
$ll .git
agrega tu usuario a ese grupo
$usermod -a -G yourusername ownergroupofgit
Cerrar sesión e iniciar sesión en el sistema para que este cambio tenga efecto.
Disfrútala ;)
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, podría ser mejor clonar el repositorio en un directorio diferente, o tal vez seleccionar el directorio actual para tener acceso completo para su usuario
Recibí este mensaje cuando usé las extensiones de git para Windows. Mi solución fue simplemente cerrar extensiones de git y luego abrir de nuevo como administrador
Si no se ha agregado al grupo que posee .git/
, entonces debería.
sudo usermod -a -G $(stat -c ''%G'' .git) $USER
sudo chmod g+u .git -R
sudo chmod g+u .gitignore
su - $USER
Que hace esto?
- descubre qué grupo posee
.git/
y agrega a su usuario a ese grupo. - se asegura de que los miembros del grupo tengan los mismos permisos que el propietario de
.git/
. - repite esto para
.gitignore
, que probablemente necesitarás - te desconecta y vuelve a ingresar para actualizar tus permisos de archivos de membresía grupal
Si acabas de hacer algo como esto recientemente (se agrega al grupo que posee .git/
), entonces debes cerrar la sesión y volver a .git/FETCH_HEAD
antes de poder escribir en .git/FETCH_HEAD
durante tu git pull
.
Si quieres dar permiso al grupo,
sudo chmod g+w .git -R
funcionó mejor para mí
Tengo ese problema cuando la carpeta .git está oculta y todos los archivos que contiene están ocultos también. Haga que solo la carpeta .git esté oculta sin actualizar los archivos recursivos y funcionará.