2011-07-01 19 views
12

Estoy usando git en Windows. Esto es lo que hice: hacer desarrollo en la máquina M1, crear repositorio desnudo en la unidad USB M2 para hacer una copia de seguridad del repositorio en M1. Hice copias de seguridad usando este comando (de git bash en M1):error de git "no se puede escribir el nombre de archivo sha1 ... Permiso denegado"

git push --mirror "f:\repo" 

Funcionó sin ningún problema. Luego compré una nueva máquina M3. Cloné el repositorio de M2 ​​a M3:

git clone "f:\repo" . 

Hice algunos checkins al repositorio en M3. Entonces hice (de fiesta de git en la máquina M3)

git push --mirror "f:\repo" 

consigo este error: incapaz de escribir el nombre de archivo sha1 ... Permiso denegado ¿Cómo puedo solucionar este problema?

+0

Véase también http://stackoverflow.com/q/3829498/119790 –

+0

Consulte mi respuesta en http://stackoverflow.com/questions/3829498/git-over-samba-unable-to- write-sha1-filename-permission-denied/6777323 # 6777323 –

+0

@morpheus debe marcar una respuesta aquí. – jcollum

Respuesta

4

Incluso si se trata de un contexto diferente (git + ssh), verifique la ACL asociada a su repositorio.
Vea por ejemplo esto blog post.

Como se sugiere en la pregunta SO "Git pull error: unable to create temporary sha1 filename" (que tiene otras sugerencias interesantes también), intente hacer de nuevo tu repositorio desnudo, esta vez con la configuración:

git config core.sharedRepository true 
0

también consigo el mismo error, pero por lo general al hacer un "git pull" usando bash en la máquina de Windows.

Para mí, está relacionado con alguna otra aplicación (generalmente un comprobador de virus en mi caso) que causa conflictos al mantener el directorio .git.

Normalmente puedo hacer "git pull" unas cuantas veces más y eventualmente funcionará (después de fallar con el mismo permiso de error denegado en un valor hash diferente) o si tengo prisa, detendría mi virus verificador, hacer el git pull (que funcionaría con éxito la primera vez sin el error de permiso) y luego muy rápidamente vuelva a activar el verificador de virus.

-1

Tuve el mismo problema y pude solucionarlo yendo a C:\Program Files\Git y luego a la derecha, haga clic en git-bash.exe -> propiedades -> Compatibilidad -> Ejecutar este programa como administrador.

-1

nos encontramos con este problema cuando un compañero no tenía la configuración correcta umask en su .bashrc que causó ningún archivo que cometió a establecer como de sólo lectura para el resto de nosotros tratando de escribir cambios en el mismo archivo en el git repo . Aquí hay un link explaining umask permissions

+1

Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la crítica] (/ reseña/mensajes de baja calidad/17870811) –

+1

Muchas gracias por la sugerencia. Fue mi primer comentario en este sitio web, aprenderé y mejoraré. –

Cuestiones relacionadas