Tratando de git pull con error: no se puede abrir.git / FETCH HEAD: Permiso denegado


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.

Author: Burgi, 2012-11-02

17 answers

Parece que el primero no funciona porque tu usuario no tiene los permisos para cambiar ese directorio, y el segundo porque tu usuario root no tiene las claves SSH correctas para acceder a ese repositorio git.

Dependiendo de lo que esté tratando de hacer, podría ser mejor clonar el repositorio a un directorio diferente, o tal vez chown el directorio actual para tener acceso completo para su usuario

 139
Author: abyx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-02 13:09:09

Compruebe si tiene suficientes permisos en el directorio .git/. Deberías tener permisos de escritura. Puede configurarlos con el siguiente comando.

Vaya a la carpeta de su proyecto:

chown -R youruser:yourgroup .git/
 115
Author: Stony,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-08 07:54:00

Este es un problema de permisos de UNIX. No utilice sudo para clonar el repositorio. No tienes las mismas claves ssh que root y no deberías trabajar como root de todos modos. Pruebe ls-la para encontrar los permisos en los archivos y use chmod (o sudo chown) para arreglarlos. Espero que eso ayude.

 25
Author: Johannes Thoma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-02 13:12:36

Si desea dar el permiso al grupo,

sudo chmod g+w .git -R

Funcionó mejor para mí.

 25
Author: Won Jun Bae,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-23 18:07:19

La respuesta a este problema asegúrese .git / FETCH_HEAD tiene privilegios de escritura y estará todo listo.

Tuve este problema en Windows y se resolvió dando permisos de escritura.

En unix se puede ejecutar chmod a+rw .git/FETCH_HEAD desde el repositorio del proyecto después de lo cual debería funcionar.

 13
Author: pg2286,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-07 15:16:35

En mi caso funciona bien después de él:

rm -f .git/FETCH_HEAD
 12
Author: shilovk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-23 09:07:22

En mi caso, solo tenía acceso de lectura a la .archivo git / FETCH_HEAD. Tuve que hacer " sudo chmod g + w.git/FETCH_HEAD " para poder hacer una pull request.

 10
Author: Jim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-11 18:42:44

Estaba teniendo el primer problema (permiso FETCH_HEAD denegado) en Windows.

Lo arreglé ejecutando Git Bash como administrador (clic derecho, ejecutar como administrador).

 7
Author: Nicholas Westby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-24 15:17:14

Si no te has agregado al grupo que posee .git/, entonces deberías.

sudo usermod -a -G $(stat -c '%G' .git) $USER
sudo chmod g+u .git -R
sudo chmod g+u .gitignore
su - $USER

Lo que esto hace:

  1. descubre a qué grupo pertenece .git/ y añade tu usuario a ese grupo.
  2. se asegura de que los miembros del grupo tengan los mismos permisos que el propietario para .git/.
  3. repite esto para .gitignore, que probablemente necesitarás
  4. cierra la sesión y vuelve a entrar para actualizar los permisos del archivo de membresía del grupo

Si recientemente hiciste algo de esta manera (te agregaste al grupo que posee .git/), entonces necesitas cerrar sesión y volver a entrar antes de que puedas escribir a .git/FETCH_HEAD durante tu git pull.

 6
Author: hobs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-03 01:26:33

Intenta de esta manera,

Paso 1: Primero comprueba quién eres? devolverá el nombre de usuario actual e. g ubuntu

$ whoami 

Paso 2: Luego establezca el permiso para su usuario actual, en ese caso, ubuntu por

sudo chown -R ubuntu .git/
 6
Author: don't angry me,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-15 16:32:21

Ejecutando Windows 7, cuando tuve este problema fue porque había escondido el .carpeta git. Los permisos estaban bien, solo estaba oculto. Mostrando la carpeta se resolvió.

 4
Author: jdf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-20 17:52:33

Mira el propietario y el grupo del directorio .git con (primero ve al directorio padre de .git) ll .git, mira el grupo y propietario del directorio, agregue su usuario al grupo de del propietario con sudo usermod -a -G yourusername groupsofonwner, luego logout => login y todo trabajando.

Así que en verano

  1. Ir al directorio padre de git

    $cd your path
    
  2. Encontrar el propietario del grupo de la .git direcotry

    $ll .git     
    
  3. Añade tu usuario a ese grupo

    $usermod -a -G yourusername ownergroupofgit
    
  4. Cerrar sesión e iniciar sesión en el sistema para que este cambio surta efecto.

  5. Disfrútalo ;)

 2
Author: zhilevan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-11 06:17:31

Tengo ese problema cuando .la carpeta git está oculta y todos los archivos en ella también están ocultos. Hacer solo .la carpeta git oculta sin archivos recursivos se actualiza y funcionará.

 2
Author: Oleg Dmitriev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-18 13:41:04

Esto funcionó para mí:

  1. Haga clic derecho .git folder
  2. haga clic en obtener información
  3. establezca el permiso para su usuario
  4. haga clic en el icono de engranaje y haga clic en aplicar a los elementos adjuntos

No más errores de permiso denegado en git.

 1
Author: eonist,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-30 17:14:02

Las razones de este error podrían ser múltiples, pero en mi caso actualizé la rama con root y luego cuando traté de actualizarla con el usuario normal me da error .

Pruebe ambas soluciones uno debería trabajar para usted

1- sudo chmod g+w .git -R

Si no funciona, intente con la siguiente solución, espere que resuelva su problema

2 - rm -f .git/FETCH_HEAD
 1
Author: Shahbaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-03 06:04:01

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 tenía sentido.

 0
Author: thebiggestlebowski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-07 21:17:36

Tuve este mensaje cuando usé las extensiones de git para Windows. Mi solución era simplemente cerrar las extensiones de git y luego volver a abrirlas como administrador

 0
Author: Rob Bowman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-07 07:36:38