es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Git GPG: falló la firma de datos con gpg

Tengo un error al firmar mis commits mediante git commit -S -m 'test' y obtengo estos errores:

error: gpg no pudo firmar los datos
fatal: error al escribir el objeto commit

Ya probé esta solución y aún no funciona correctamente.

También intenté esto y todavía no funciona.

Tengo una Macbook Pro 2017 con la última versión de macOS.

¿Hay alguna otra solución para arreglarlo y comprometer mis commits correctamente en Github o Gitlab?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Error al firmar commits con Git

    Si está experimentando un error al intentar firmar sus commits de Git con la bandera -S, como:

    error: gpg failed to sign the data
    fatal: failed to write commit object
    

    Existen algunas soluciones que puede probar, incluyendo las que ya ha intentado. Sin embargo, si esas soluciones no funcionaron, hay algunas otras cosas que puede intentar.

    Solución 1: Asegúrese de que se haya configurado la clave GPG

    Primero, asegúrese de haber configurado una clave GPG en su sistema. Puede seguir estas instrucciones para generar una nueva clave GPG y agregarla a su configuración de Git.

    Solución 2: Asegúrese de que GPG esté instalado

    Asegúrese de que GPG esté instalado en su sistema ejecutando el siguiente comando:

    gpg --version
    

    Si GPG no está instalado, siga las instrucciones para instalarlo.

    Solución 3: Configure TTY para GPG

    Intente configurar un TTY para GPG ejecutando los siguientes comandos:

    export GPG_TTY=$(tty)
    

    Si eso no funciona, puede intentar agregar lo siguiente a su archivo ~/.bashrc o ~/.bash_profile:

    export GPG_TTY="$(tty)"
    

    Solución 4: Limpiar la caché de GPG

    Puede intentar limpiar la caché de GPG ejecutando el siguiente comando:

    gpgconf --kill gpg-agent
    

    Solución 5: Agregar confianza a la clave GPG

    Si su clave GPG no es de confianza, es posible que deba agregar confianza a la clave ejecutando el siguiente comando:

    gpg --edit-key KEYID
    

    Donde KEYID es el ID de su clave GPG. Luego, ingrese los siguientes comandos:

    trust
    5
    y
    quit
    

    Solución 6: Use Git Bash

    Si está utilizando Git Bash en Windows, es posible que deba utilizar winpty antes del comando git:

    winpty git commit -S -m "test"
    

    Solución 7: Use ganchos de commit

    Puede utilizar ganchos de commit para firmar automáticamente sus commits. Siga estas instrucciones para configurar un gancho de commit para firmar tus commits.

    Después de probar cada una de estas soluciones, intente firmar su commit nuevamente con:

    git commit -S -m "test"
    

Comments are closed.