Aprende el comando Git con ejemplos prácticos en Linux – Parte 1

Aprende el comando Git con ejemplos prácticos en Linux – Parte 1

Git es un sistema de control de versiones distribuido. Es utilizado principalmente por los desarrolladores de software para la gestión de su código fuente. Git es software libre y de código abierto y muchas grandes organizaciones lo utilizan para gestionar su enorme base de código.

Git-Command-Example-Part1

En este tutorial nos familiarizaremos con Git. Esto será una guía práctica. Este tutorial asume que Git está instalado en tu sistema.

Configuración inicial del usuario de Git

Primero tenemos que configurar los ajustes para el usuario de Git. Podemos hacer estos ajustes para todos los repositorios presentes en el sistema actual o para un repositorio en particular. Entendamos esto con el ejemplo:

Identidad de usuario

En Git podemos especificar la identidad del usuario proporcionando su nombre y dirección de correo electrónico. Esta información se utilizará durante cada operación de confirmación. Ejecute el siguiente comando en el terminal para asignar la identidad:

>

Editor

Este parámetro configura el editor, que se utilizará al proporcionar el mensaje de confirmación:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Compresión

Este ajuste configura el nivel de compresión que se va a utilizar. El rango válido para la compresión es de -1 a 9. El valor -1 indica compresión zlib y es el nivel de compresión predeterminado. El valor 0 significa que no hay compresión, y de 1 a 9 son varias compensaciones de velocidad/tamaño, siendo 9 la más lenta.

git config –global core.compression 2>$ git config –global core.compression 2

Herramienta Diff

Este ajuste configura la herramienta de visualización de diferencias. Por ejemplo, el siguiente comando configura vimdiff como una herramienta de diferencias:

$ git config --global diff.tool vimdiff

En los comandos anteriores hemos utilizado la opción -global en todas partes, lo que hará que esta configuración sea global. Esto significa que se aplicará la misma configuración a todos los repositorios presentes en el sistema actual. Para hacer que el repositorio de configuración sea específico, simplemente elimine la opción -global.

Configuración de la lista

Para listar la configuración de Git, ejecuta el siguiente comando en el terminal:

$ git config -l

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Este comando generará la siguiente salida:

core.repositorioformatversion=0
core.filemode=true
core.bare=falso
core.logallrefupdates=true
core.editor=vim
compresión.core=2
user.name=Linuxtechi Usuario
usuario.email=linuxtechiuser@linuxtechi.com
diff.tool=vimdiff

Repositorios de Git

El repositorio es una ubicación donde se almacena el código fuente. Podemos crear un nuevo repositorio o utilizar un repositorio existente. Para crear un nuevo repositorio vacío ejecute el siguiente comando:

$ mkdir my-repo.git
cd my-repo.git
git init –bare
Inicializado el repositorio vacío de Git en my-repo.git>.

Este método será útil cuando empiece con un nuevo proyecto. Otro método es usar el repositorio existente. Dicho repositorio está alojado en un servidor remoto como GitHub. Para descargar el repositorio remoto use el comando clonar de la siguiente manera:

$ git clone http://github.com/linuxtechiuser/my-repo.git

En el comando anterior el último argumento es la ruta del repositorio remoto.

Flujo de trabajo de Git

En esta sección discutiremos el flujo de trabajo de git.

Introducir nuevos cambios

El primer paso es introducir nuevos cambios. Puede ser la adición de un nuevo archivo o la actualización de archivos existentes. Vamos a crear un nuevo archivo y modificar el archivo existente

$ touch AUTHORS # Crear un nuevo archivo
echo "New Contents">>> README # Actualizar archivo existente

>

Comprobar el estado del repositorio

Git es un sistema de seguimiento de contenidos, que identificará más de dos cambios. Comprobemos el estado del repositorio:

$ git status -s
M LÉAME

?? AUTORES

En la letra de salida M de arriba aparece antes de README, lo que indica que el archivo existente ha sido modificado. Considerando que ?? aparece ante AUTORES lo que indica que se trata de un nuevo archivo y que Git no está al tanto de ello, por lo que dicho archivo se denomina archivo sin seguimiento.

Añadir archivo al conjunto de cambios

Vamos a instruir a Git para que rastree este nuevo archivo. Podemos lograr esto usando el comando add. Esta operación iniciará el seguimiento de los cambios realizados en este archivo.

$ git add AUTHORS

Verifiquemos el estado del repositorio ahora:

$ git status -s
A AUTORES
M README>> LÉAME

La salida de arriba muestra A antes de AUTHORS, lo que indica que este archivo se ha añadido recientemente en Git. Podemos añadir cualquier número de archivos usando este comando.

Eliminar archivo del conjunto de cambios

Vamos a instruir a Git para que des rastree este archivo recién agregado. Podemos lograr esto usando el comando reset. Esta operación eliminará el archivo del conjunto de cambios

$ git reset AUTHORS
estado del git -s
M LÉAME
?? AUTORES 

La salida de arriba muestra que el archivo AUTHORS no es rastreado por Git.

Confirmar cambios

En Git, los archivos que forman parte del conjunto de cambios formarán una confirmación. Cada confirmación recibirá un ID único. Vamos a crear primero el conjunto de cambios

$ git añadir AUTORES
git add README

Ahora vamos a confirmar los cambios en el repositorio local con el mensaje de confirmación. El argumento command -m indica el mensaje de confirmación.

$ git commit -m «Updated README and added AUTHORS»

Cuando ejecute el comando anterior, se generará la siguiente salida:

[master 0b124eb] Actualizado README y añadido AUTORES
2 archivos modificados, 1 inserción(+)
modo de creación 100644 AUTHORS>

Revisar cambios

En esta sección discutiremos comandos que nos permitirán revisar los cambios en el repositorio.

Ver el registro de confirmación

El repositorio puede contener múltiples confirmaciones de múltiples autores. Podemos usar el comando log para ver todas las confirmaciones disponibles:

$ git log

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Cuando ejecute el comando anterior, se generará la siguiente salida:

compromiso 0b124eb6d0109d837f6f9396c9937406abd3f456 (HEAD -> master)
Autor: Usuario de Linuxtechi
Fecha: vie jul 27 21:06:55 2018 +0530
Actualizado README y añadido AUTORES

Este es un compromiso que habíamos creado antes. En el mando de arriba:

  • El ID hexadecimal representa un ID de confirmación
  • La sección de autor de commit muestra detalles sobre quién hizo estos cambios
  • La sección Fecha muestra la fecha y la hora de confirmación

Ver log de confirmación corto

El comando anterior mostrará información detallada sobre cada confirmación. Para ver una breve descripción sobre cada opción de uso de commit -online, haga lo siguiente:

$ git log --online

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Cuando ejecute el comando anterior, generará la siguiente salida:

0b124eb (HEAD -> master) LÉAME actualizado y añadido AUTORES

Ver commit

El ID de confirmación está asociado a cada conjunto de cambios. Podemos usar este ID con el comando show para ver el contenido de la confirmación.

$ git show 0b124eb6d0109d837f6f9396c9937406abd3f456

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Cuando ejecute el comando anterior, se generará la siguiente salida:

compromiso 0b124eb6d0109d837f6f9396c9937406abd3f456 (HEAD -> master)
Autor: Usuario de Linuxtechi
Fecha: vie jul 27 21:06:55 2018 +0530
Actualizado README y añadido AUTORES
diff –git a/AUTHORS b/AUTHORS
nuevo modo de archivo 100644
índice 0000000..e69de29
diff –git a/README b/README
índice 980a0d5..5680123 100644
— a/README
+++ b/README
@@ -1 +1,2 @@
Hola Mundo!
+Nuevos contenidos > Nuevos contenidos

Ver diferencias

El comando Diff nos permite revisar los cambios antes de crear un conjunto de cambios. El comando Diff muestra las diferencias entre el repositorio y el espacio de trabajo local. Modifiquemos el archivo README y veamos las diferencias

$ echo «Generating diff»>> README
git diff
diff –git a/README b/README
índice 5680123..3158230 100644
— a/README
+++ b/README
@@ -1,2 +1,3 @@
Hola Mundo!
Nuevos Contenidos
+Generando diff>

En el mando de arriba:

  • El signo + indica los cambios que se añaden al archivo
  • – indica cambios que se eliminan del archivo

Trabajar con repositorios remotos

Hasta ahora sólo trabajábamos con repositorios locales. Otros desarrolladores no pueden utilizar los cambios que nosotros realizamos ya que son locales. Por lo tanto, la colaboración de código no es posible. Esta sección describirá comandos que nos permitirán interactuar con repositorios remotos

Publicar cambios en el repositorio remoto

Podemos publicar cambios locales en el repositorio remoto para que otros desarrolladores puedan utilizarlo. Antes de publicar los cambios tenemos que crear un conjunto de cambios y una confirmación local. Podemos publicar los cambios usando el comando push de la siguiente manera:

$ git push

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Este comando copia los cambios del espacio de trabajo local al repositorio remoto. En Git, esta operación se denomina operación de empuje.

Sincronizar el espacio de trabajo con el repositorio remoto

Muchos desarrolladores pueden publicar sus cambios de espacio de trabajo en el repositorio remoto. Git nos permite descargar esos cambios y sincronizar el espacio de trabajo con el repositorio. Podemos lograr esto usando el comando pull:

$ git pull

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

En Git, esta operación se denomina operación pull.

Comandos misceláneos de Git

Esta sección discute comandos misceláneos de Git que serán útiles para realizar tareas diarias:

Modificar la última confirmación

Git nos permite modificar la última confirmación. Podemos usar este método para evitar la creación de nuevas confirmaciones. Se utiliza principalmente para modificar el mensaje de confirmación anterior. Para modificar la última opción de uso de commit -amend como sigue:

$ echo "Otro nuevo cambio">> README
git add README
git commit --amend -m "This is amended commit

Ahora vamos a comprobar el registro de confirmaciones:

$ git log
commit 8bf67aec1d1de87f03ab6aae93940b17826fde1c (HEAD -> master)
Autor: Usuario de Linuxtechi
Fecha: vie jul 27 21:54:55 2018 +0530
 Esto es enmendado commit

>

Si observamos detenidamente la salida anterior, podremos ver el nuevo mensaje de confirmación, su ID y la nueva marca de tiempo.

Eliminar archivos no rastreados

Los archivos sin rastrear son aquellos que Git desconoce. Podemos eliminar todos los archivos no rastreados usando el comando clean.

Vamos a crear algunos archivos sin seguimiento:

delete-me-1 delete-me-2 delete-me-3> Toca delete-me-1 delete-me-2 delete-me-3

Para eliminar todos los archivos sin rastrear de arriba, use el comando clean con la opción -f como se indica a continuación:

$ git clean -f
Eliminar delete-me-1
Eliminar delete-me-2
Eliminando delete-me-3

>

Tenga en cuenta que este comando eliminará los archivos de forma permanente, por lo tanto, utilícelo con precaución.

Ver confirmaciones de un autor en particular

Si usamos el comando log entonces muestra las confirmaciones de todos los autores. Para ver las confirmaciones de un autor en particular, utilice la marca -author de la siguiente manera:

$ git log --author=Linuxtechi

Cuando ejecute el comando anterior, enumerará todas las confirmaciones de los autores de Linuxtechi de la siguiente manera:

compromiso 8bf67aec1d1de87f03ab6aae93940b17826fde1c (HEAD -> master)
Autor: Usuario de Linuxtechi
Fecha: vie jul 27 21:54:55 2018 +0530
Esto es enmendado commit>

Ver el historial de cada archivo línea por línea

Para ver el historial línea por línea podemos usar el comando de autoría.

$ git blame README

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Cuando ejecute el comando anterior, se generará la siguiente salida:

76294131 (Usuario de Linuxtechi 2018-07-27 21:12:11 -0700 1) Hola Mundo!
8bf67aec (Usuario Linuxtechi 2018-07-27 21:54:55 +0530 2) Nuevos cambios
8bf67aec (Usuario de Linuxtechi 2018-07-27 21:54:55 +0530 3) Otro cambio

En el mando de arriba:

  • La primera columna indica commit ID
  • La segunda columna indica el autor
  • La tercera columna indica marcas de tiempo
  • La última columna indica el número de línea y el contenido del archivo

Ver diferencias con el área de preparación

Cuando se crea un conjunto de cambios usando el comando add, el archivo se mueve lógicamente al área de preparación. Veamos con este ejemplo:

$ echo "Demostremos la zona de montaje">> README
git add README
git diff

El comando anterior no mostrará ninguna diferencia cuando el archivo se mueva al área de preparación. Usemos la operación por etapas para ver las diferencias:

$ git diff --staged
diff --git a/README b/README
índice 74729a2..8bc5ffd 100644
--- a/README
+++ b/README
@@ -1,3 +1,4 @@
Hola Mundo!
Nuevos cambios
Otro cambio más
+Demostrémosle el área de preparación 

Conclusión

En este tutorial hemos discutido las operaciones básicas de Git con ejemplos sencillos. Este tutorial es un buen punto de partida para los novatos de Git.

Leer más : Aprender el comando Git con ejemplos prácticos en Linux – Parte 2

Deja un comentario