Error de Git Push: no se puede desvincular el antiguo (permiso denegado)

Resuelto rfc1484 asked hace 12 años • 17 respuestas

En el servidor remoto tengo configurado un enlace posterior a la recepción para realizar un checkout de git de mi repositorio:

#!/bin/sh
GIT_WORK_TREE=/var/www/<website> git checkout -f

Pero cuando hago un envío desde mi máquina local al repositorio de git en el servidor, aparece el siguiente mensaje de error:

remote: error: unable to unlink old '<file>' (Permission denied)

Esto aparece muchas veces, un mensaje de error para casi todos los archivos.

Sin embargo, tengo un archivo README.txt que puedo cambiar usando git, aquí están sus permisos:

-rw-r--r--  1 <serverusername>  <serverusername>  2939 Aug  2 10:58 README.txt

Pero otros archivos con exactamente el mismo propietario y los mismos permisos me dan ese error.

En otro repositorio local para otro sitio web, tengo los archivos con el nombre de usuario de mi máquina local como propietario, y cuando los envío al servidor remoto, respeta al propietario de los archivos del servidor remoto y funciona de maravilla.

Obviamente parece un error relacionado con permisos, pero no encuentro la manera de solucionarlo, ¿alguna sugerencia?

rfc1484 avatar Aug 02 '12 16:08 rfc1484
Aceptado

Cuando tienes que desvincular un archivo, debes tener permiso 'w' para el directorio en el que se encuentra el archivo, no para el archivo...

Jan Marek avatar Aug 02 '2012 09:08 Jan Marek
sudo chmod -R ug+w .;

Este comando solucionaría el problema. Da permisos de escritura a la carpeta.

Rajendra kumar Vankadari avatar Jan 04 '2016 09:01 Rajendra kumar Vankadari