6 consejos para git la mar de útiles

En los últimos años, git ha crecido enormemente en popularidad hasta convertirse en uno de los sistemas de control de versiones más utilizados. Es utilizado por programadores de todo tipo de lenguajes y equipos tanto pequeños como enormes, desde pequeños proyectos de código abierto hasta grandes bases de código como el kernel de Linux

En este artículo te mostraré unos cuantos consejos que pueden mejorar tu experiencia y flujo de trabajo con git.

git log --no-merges

Este comando de git muestra todo el historial de commits, pero omite los commits que se fusionaron en dos ramas juntas o resuelven un conflicto de fusión. Esto te permite ver en un solo vistazo todos los cambios realizados en el proyecto, sin que los merge commits abarroten el historial de git.

$git log --no-merges

commit e75fe8bf2c5c46dbd9e1bc20d2f8b2ede81f2d93
Author:  John
Date:   Mon Jul 10 18:04:50 2017 +0300

    Add new branch.

commit 080dfd342ab0dbdf69858e3b01e18584d4eade34
Author:  John
Date:   Mon Jul 11 15:40:56 2017 +0300

    Added index.php.

commit 2965803c0deeac1f2427ec2f5394493ed4211655
Author:  John
Date:   Mon Jul 13 12:14:50 2017 +0300

    Added css files.

git revert --no-commit [commit]

Git revert genera un nuevo commit que deshace los cambios realizados por los commits existentes y genera un nuevo commit con el contenido resultante. Si deseas revertir dichos commits y evitar los commits automáticos, puedes usar --no-commit o el atajo -n.

git diff -w

git diff muestra las diferencias entre dos commits, dos árboles o dos ficheros del disco. Cuando varias personas trabajan en un mismo proyecto, a menudo se deben realizar cambios debido a las distintas configuraciones en cuanto a espacios de los editores. Para ignorar las diferencias causadas por los espacios en blanco al comparar líneas, puedes utilizar -w.

git diff --stat

Muestra ha cambiado cada archivo a lo largo del tiempo. Puedes agregar 3 parámetros: width para sobreescribir el ancho de salida por defecto, name-width para definir el ancho del nombre del archivo y count para limitar el resultado al primer número de líneas.

$ git diff --stat
 index.php | 83 +++++++++++++++++++++++++++++---------------------------
 1 file changed, 43 insertions(+), 40 deletions(-)

$ git diff --stat-width=10
 index.php | 83 +++---
 1 file changed, 43 insertions(+), 40 deletions(-)

git reset --soft HEAD^

Resetea el head a cierto commit sin tocar el archivo de índice y el árbol de trabajo. Todos los cambios realizados después de este commit se mueven a "staged for commit". Después de esto solo tienes que ejecutar git commit para agregarlos otra vez.

 

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO