# Confirmaciones de resolución de problemas

Resuelva problemas comunes de confirmación, como vínculos de usuario incorrectos, confirmaciones locales que faltan y bloques de protección de inserción.

## Las confirmaciones están vinculadas al usuario incorrecto

GitHub vincula una confirmación a un usuario haciendo coincidir la dirección de correo electrónico en el encabezado de confirmación a una dirección de correo electrónico de una GitHub cuenta. Si las confirmaciones están vinculadas al usuario incorrecto o a ningún usuario, actualice la configuración de correo electrónico de Git y agregue la dirección de correo electrónico a su cuenta.

> \[!NOTE]
> Si las confirmaciones están vinculadas a otro usuario, no les concede acceso al repositorio.

### Las confirmaciones se vinculan con otro usuario

1. Cambie la dirección de correo electrónico en la configuración local de Git siguiendo [Configurar tu dirección de correo electrónico de confirmación](/es/enterprise-server@3.22/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address#setting-your-commit-email-address-in-git). Si trabaja en varias máquinas, cambie esta configuración en cada una de ellas.
2. Agregue la dirección de correo electrónico a su cuenta siguiendo [Agregar una dirección de correo electrónico a la cuenta de GitHub](/es/enterprise-server@3.22/account-and-profile/how-tos/email-preferences/adding-an-email-address-to-your-github-account).

Las confirmaciones futuras que usan la dirección de correo electrónico se vincularán a su cuenta.

### Las confirmaciones no se vinculan con ningún usuario

Para averiguar por qué una confirmación no está vinculada, inspeccione la confirmación en GitHub.

1. En GitHub, navegue hasta la página principal del repositorio.
2. En la página principal del repositorio, encima de la lista de archivos, haz clic en **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-history" aria-label="history" role="img"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg> commits**.

   ![Captura de pantalla de la página principal de un repositorio. Un icono de reloj y "178 confirmaciones" está resaltado con un contorno naranja.](/assets/images/help/commits/commits-page.png)
3. Si deseas navegar a una confirmación específica, haz clic en el mensaje de confirmación correspondiente.

   ![Captura de pantalla de una confirmación en la lista de confirmaciones de un repositorio. "Actualizar README.md" aparece resaltado con un contorno naranja.](/assets/images/help/commits/commit-message-link.png)
4. Mantenga el puntero sobre el azul <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-question" aria-label="Question mark" role="img"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> a la derecha del nombre de usuario.
5. Use el mensaje para decidir qué actualizar:
   * **Autor no reconocido (con dirección de correo electrónico):** Agregue la dirección de correo electrónico que se muestra a su GitHub cuenta.
   * **Autor no reconocido (sin dirección de correo electrónico):** Establezca la dirección de correo electrónico de confirmación en Git y agregue esa dirección a su GitHub cuenta.
   * **Correo electrónico no válido:** Establezca una dirección de correo electrónico de confirmación válida en Git y agregue esa dirección a su GitHub cuenta.

Es posible que las confirmaciones antiguas no estén vinculadas después de actualizar la configuración de correo electrónico. Consulte [Configurar tu dirección de correo electrónico de confirmación](/es/enterprise-server@3.22/account-and-profile/how-tos/email-preferences/setting-your-commit-email-address).

## Existe una confirmación en GitHub pero no en el clon local

Si `git show COMMIT-SHA` devuelve un error localmente, pero la confirmación está visible en GitHub, el clon local puede estar obsoleto o una rama ya no puede hacer referencia a la confirmación.

### El repositorio local está desactualizado

Capturar información del repositorio remoto.

```shell
git fetch REMOTE
```

Use `git fetch upstream` para el repositorio ascendente de una bifurcación o `git fetch origin` para el repositorio que ha clonado.

### La rama que contenía la confirmación fue eliminada

Si se eliminó o se ha forzado la inserción de la rama, pida a un colaborador que todavía tenga la confirmación localmente para insertarla en una nueva rama.

```shell
git branch recover-B B
git push upstream B:recover-B
```

A continuación, capture la rama recuperada.

```shell
git fetch upstream recover-B
```

### Evitar empujes forzados

Evite forzar la inserción a menos que sea necesario, especialmente cuando más de una persona puede insertar en el repositorio. Forzar la inserción de reescrituras del historial del repositorio y puede interrumpir a los colaboradores o a las solicitudes de incorporación de cambios dañadas.

## La protección push bloquea una confirmación.

La protección de inserción bloquea las confirmaciones, las cargas o las solicitudes de API que contienen secretos admitidos.

### Por qué la protección de inserción ha bloqueado la confirmación

Si la protección de inserción bloquea el trabajo, GitHub detectó un secreto admitido en la confirmación o solicitud. Quite el secreto antes de intentarlo de nuevo.

### Resolución de un bloque de protección de inserción

1. Revise el mensaje de protección de inserción para identificar el secreto y dónde aparece.
2. Quite el secreto de la solicitud de confirmación, carga de archivos o API.
3. Pruebe de nuevo la inserción, confirmación, carga o solicitud.
4. Si cree que el secreto es seguro para insertar, siga los pasos de omisión del flujo de trabajo:
   * [Trabajo con la protección contra inserción desde la línea de comandos](/es/enterprise-server@3.22/code-security/how-tos/secure-your-secrets/work-with-leak-prevention/push-protection-on-the-command-line)
   * [Trabajar con protección de push en la interfaz de usuario de GitHub](/es/enterprise-server@3.22/code-security/how-tos/secure-your-secrets/work-with-leak-prevention/push-protection-in-the-github-ui)
   * [Uso de la protección de empuje desde la API REST](/es/enterprise-server@3.22/code-security/concepts/secret-security/push-protection-from-the-rest-api)

## Lectura adicional

* [Buscar confirmaciones de cambios](/es/enterprise-server@3.22/search-github/searching-on-github/searching-commits)
* [Protección contra el envío de cambios](/es/enterprise-server@3.22/code-security/concepts/secret-security/push-protection)
* [Patrones de análisis de secretos admitidos](/es/enterprise-server@3.22/code-security/reference/secret-security/supported-secret-scanning-patterns)