¿Qué significa base fork, base, head fork y compare al crear una solicitud de extracción en GitHub?

¡De eso se trata una solicitud de extracción (PR)!

Los términos mencionados en su pregunta definen exactamente un PR.

Recuerde que un RP significa una revisión. Por lo tanto, está tratando de crear una revisión contra un fragmento de código existente. (por ejemplo: Agregar una mejora)

También necesita conocer los términos “canónico” y “tenedor”

Un repositorio canónico es básicamente organización / repositorio.

Una vez que te bifurcas,

el repositorio de Forked es username / repo

Dicho esto … en una página de relaciones públicas, base significa el repositorio canónico y cabeza significa el repositorio bifurcado.

Ahora volvamos a los términos que mencionó.

base fork ==> Canonical Repo

base ==> La rama en el repositorio canónico al que está sugiriendo el cambio. Esto significa que una vez que el RP se apruebe y se fusione, sus cambios aterrizarán en esta rama. ¡Con este PR vas a modificar esta rama!

head fork ==> Tu repositorio bifurcado

compare ==> La rama en su repositorio bifurcado donde están sus cambios.

Un pequeño ejemplo para concluir.

Repo: awesomeorg / awesomerepo

Horquilla: iamauser / awesomerepo

Clone Fork ==> Crear una nueva rama llamada feature_1 ==> Realizar cambios ==> Confirmar los cambios y empujar la rama.

Ahora cree una solicitud de extracción con

horquilla base : awesomeorg / awesomerepo

base : maestro

horquilla de cabeza : iamauser / awesomerepo

comparar : característica_1

“Capaz de fusionar” significa que después de la aprobación de este RP, puede fusionarlo sin ningún conflicto.

Si su rama (en la bifurcación) tiene conflictos potenciales con su “base” (es decir, maestro), entonces podría recibir este mensaje.

“No se puede fusionar automáticamente. No se preocupe, aún puede crear la solicitud de extracción”.