He git de error: «no se tienen permisos suficientes para agregar un objeto a la base de datos del repositorio .git/objects» cada vez que voy a realizar «git pull origin desarrollar».

    remote: Counting objects: 70, done.
    remote: Compressing objects: 100% (7/7), done.
    remote: Total 42 (delta 35), reused 42 (delta 35)
    error: insufficient permission for adding an object to repository database     .git/objects

    fatal: failed to write object
    fatal: unpack-objects failed
  • Pregunta obvia: ¿tiene usted los derechos de acceso a los archivos en el disco?
  • Compruebe los permisos de la .git/objects archivo. Suena como los que has utilizado erróneamente sudo en algún momento en el pasado y da la titularidad a root en lugar de a ti mismo.
  • Estoy recibiendo el mismo problema de @ChrisHayes Pero que .git/objects archivo? Donde está ese archivo/directorio?
  • .git es un directorio que existe en la base de cada repositorio git.
InformationsquelleAutor unnati patil | 2013-09-13

5 Comentarios

  1. 233

    Suponiendo @ChrisHayes es derecho sobre un accidental sudo, esto debería solucionar el problema. Desde el interior de su repositorio:

    sudo chown -R $USER:$USER "$(git rev-parse --show-toplevel)/.git"
    

    Actualización: para aquellos de ustedes llegar a la illegal group name de error, intente esto en su lugar:

    sudo chown -R $(id -u):$(id -g) "$(git rev-parse --show-toplevel)/.git"
    
    • ¿Qué git rev-parse --show-toplevel hacer? Yo era capaz de solucionar el problema mediante el uso de chown -R user:user en el directorio de nivel superior de mi repo.
    • de esta manera se consigue el directorio de nivel superior de su repo, por lo que el comando funcionará independientemente de donde en su repo que actualmente son. Si usted ya está en la raíz puede ejecutar sudo chown -R $USER:$USER .git
    • Puedo obtener: Sorry, user myuser is not allowed to execute '/bin/chown' ...
    • Puedo obtener: illegal group name
    • Yo estaba usando un nombre de usuario incorrecto. El comando trabajado. Gracias.
    • también me pasó a mí después de un accidente sudo antes. cambiar el propietario/grupo solucionado

  2. 8

    Ir a la raíz del proyecto de directorio y ejecutar por debajo de comandos para solucionar este problema,

    cd .git/objects
    sudo chown -R yourname:yourgroup *
    
  3. 2

    El mío fue un error estúpido… el derecho de nombre de usuario y de grupo se establece, sino www-data fue la cuenta de acceder a él. El directorio era propiedad de vaindil:www-data, pero de permisos 755 para www-data no podía escribir en él. Se fija con:

    $ sudo chmod -R 775 /path/to/repo
    
  4. 1

    NO es UNA BUENA PRÁCTICA (Sólo una alternativa)

    Estoy usando Ubuntu y se enfrentó al mismo problema. Para resolver esto, yo simplemente se cambia de usuario root y no veo el error.

    $su
    password
    

    Entonces,

    $git pull origin master
    

    Forma recomendada: CAMBIAR LOS PERMISOS DEL DIRECTORIO

    • Esto va a funcionar (como se sudo), pero es la mejor práctica para evitar la ejecución de comandos como root siempre que sea posible.
    • Gracias por el comentario. Era sólo una alternativa a la respuesta anterior. 🙂
    • NO es UNA SOLUCIÓN como bien usted no quiere utilizar su repo como sudo.
    • Sí, pero, ¿de ver el texto en negrita que ya existe? 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here