Lista de confirmaciones no enviadas al repositorio remoto en Git
Este artículo ilustra cómo podemos enumerar todas las confirmaciones que aún no hemos enviado al repositorio remoto.
Git es un salvavidas. Le avisa cuando su sucursal está por delante del control remoto.
Sin embargo, la consola solo le muestra cuántas confirmaciones necesita enviar. No enumera las confirmaciones, entonces, ¿cómo podemos ver estas confirmaciones?
Lista de confirmaciones no enviadas al repositorio remoto en Git
En esta sección, usaremos un ejemplo para ilustrar cómo puede enumerar las confirmaciones que aún no ha publicado.
En el siguiente ejemplo, haremos algunos cambios en nuestro repositorio y los confirmaremos de manera que nuestra rama esté por delante de la rama remota por dos confirmaciones.
Podemos ver que nuestra sucursal está por delante del control remoto por dos confirmaciones. Estamos interesados en los compromisos mismos.
Técnicamente, queremos obtener todas las confirmaciones entre origin/main
y HEAD
. Ejecutaremos el comando git log
, como se ilustra a continuación:
$ git log origin/main..HEAD
Podemos generar una diferencia con los siguientes comandos:
$ git difftool origin/main..HEAD
Puede usar git diff origin/main
, pero usará la interfaz de diferencia predeterminada de Git. Usamos git difftool
para abrir Meld, nuestro difftool predeterminado y mergetool.
Alternativamente, puede ejecutar el comando git log
, como se muestra a continuación.
$ git log --branches --not --remotes
Esto mostrará una lista de todas las confirmaciones en todas las ramas que no se han enviado al control remoto.
Otro comando útil es:
$ git log @{u}..
En pocas palabras, puede ver las confirmaciones no publicadas en su repositorio local. El comando git log
, combinado con varias banderas discutidas, puede brindarle una lista completa de las confirmaciones que necesita impulsar.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn