fbpx

Parte 3/6: CCNA Devnet 200-901:͇ 𝗜𝗻𝘁𝗿𝗼 𝗮 𝗚𝗜𝗧.

Hola que tal estimados, un nuevo post relacionado al mundo de programabilidad en redes. Esta vez hablaremos sobre GIT. ¿Qué te parece si aprendemos sobre el con un poema escrito por la inventora del protocolo spanning-treeRadia Perlman?, aquí te cuento:

1. ¿Qué es git?

Nota: En nuestro post anterior, Parte 2/6: 𝗣𝗿𝗲𝗽𝗮𝗿𝗮 𝘁𝘂 𝗣𝗖, pudimos conocer sobre git y como instalarlo.

No alt text provided for this image

¿No les ha pasado que han renombrado varias veces un archivo en algún momento de su vida con nombres como finalfinal_final, final_final_ok, final_final_ok_FINAL, etc.?

Bueno… quizás seas ordenado y utilizas algunas técnicas para mantener un orden, colocando fechas y versiones manualmente, pero… ¿Qué tal si un software se encarga de esto? Pues aquí aparece GIT.

Git, según wikipedia:

 Es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.

Con esto podemos ver que tiene dos características importantes:

  • Control de versiones: Puedes tener diferentes versiones de archivos en caso que quieras comparar o retornar.
  • Colaboración: Te permite trabajar con otras personas los mismos archivos.

2. Los 3 estados

Esta es la base a comprender de git, ya que lo demás temas radican en su conocimiento.

Git tiene tres estados principales en los que se pueden encontrar tus archivos: confirmado (committed), modificado (modified), y preparado (staged).

  • Confirmado: significa que los datos están almacenados de manera segura en tu base de datos local.
  • Modificado: significa que has modificado el archivo pero todavía no lo has confirmado a tu base de datos.
  • Preparado: significa que has marcado un archivo modificado en su versión actual para que vaya en tu próxima confirmación.

Para estos 3 estados, nos lleva a las tres secciones principales de un proyecto:

No alt text provided for this image

Directorio git (repositorio DVCS): Es el lugar más importante. Aquí se guarda la Info cuando la clonas o inicializas. De aquí parten los archivos hacia el directorio de trabajo.

Working Directory: Es el directorio donde estarán los archivos para tu uso y son una copia de la base de datos del directorio git para que puedas utilizarlas.

Staging Area: Es el área de preparación. El mismo se mantiene también en el directorio git. Es cuando trabajas en un archivo y sientes que está listo, lo pasas a ese estado para que puedas revisarlo y validar los cambios realizados.

3. Ok, y ¿Cómo lo aplico con Git?

Git puedes controlarlos con línea de comandos. ¿Qué tal si los vemos en una gráfica?

No alt text provided for this image

git init; Con este comando inicializas git. Genera el directorio git vacío.

git add: Agregas archivos para que sean tomados en cuenta a la base de datos, pero aún no confirmados.

git commit: Es cuando ya son guardados en la base de datos y se genera una versión de ellos.

Estos son los comandos necesarios para agregar información a la base de datos. Otros comandos como git status, git diff, git reflog, git log lo explicaremos más adelante.

Nota: Hay un proceso obligatorio a realizar una sola vez luego de la instalación del software Git. Debes indicar quien eres y un correo electrónico de manera obligatoria. Estos son los comandos:

$ git config --global user.name "MI NOMBRE"
$ git config --global user.email NOMBRE@DOMINIO.com

Nota: Si tienes una cuenta Github, aquí colocas estos datos, pero para este post será solo pruebas locales, asi que es sería cualquier valor.

4. ¡Apliquemos lo aprendido con un Poema!

Radia Perlman, La madre del Internet

No alt text provided for this image

Este sub-tema no es referente a git, pero vale la pena realizar un reconocimiento a Radia Joy Perlman.

Doctora en programación y master en matemáticas, es la creadora del protocolo Spanning-tree, el mismo que aún utilizamos en los equipos de redes conocidos como Switches. Ha escrito 2 libros que son referencias en el mundo de redes: “Interconnections: Bridges, Routers, Switches, and Internetworking Protocols (2ª edición).” y “Network Security: Private Communication in a Public World“.

Hizo grandes aportes al protocolo IS-ISIP, DECNET seguridad en la red. Es por esto que la conocen como la madre del Internet.

Radia Perlman nos regala un algoritmo escrito en un poema elegante que explica el protocolo spanning-tree:

No alt text provided for this image
I think that I shall never see
A graph more lovely than a tree.
A tree whose crucial property
Is loop-free connectivity.


A tree which must be sure to span
So packets can reach every LAN.
First the root must be selected.
By ID it is elected.

Least cost paths from root are traced.
In the tree these paths are placed.
A mesh is made by folks like me

Then bridges find a spanning tree.

Para la pruebas, utilizaremos este poema para ver el uso de Git.

Iniciando la base de datos

Creemos una carpeta llamada “Radia_Perlman”, inicialicemos la base de datos con git init y creemos un archivo llamado “Poem_STP.txt”.

No alt text provided for this image

Agrega archivo a la Base de datos

Agreguemos este nuevo archivo a la base de datos con el comando git add Poem_STP.txt y git commit -m “Primer archivo”. Notarás que el comando git commit falla por la falta de los comandos globales previamente mencionado: git config –global user.name git config –global user.email. Estos últimos solo deben realizarse una vez en el uso de git.

No alt text provided for this image

Nota: Siempre debes colocar un comentario en el commit con la subfunción -m que siginifica message.

Modificando archivo y agregando a la base de datos

Ahora en el archivo recién creado, agregamos el poema y lo guardamos. En esta sección aparece un nuevo comando: git diff, que te permite ver los cambios en el archivo con la versión actual de la base de datos. Los cambios de color verde indican adición al archivo y los de color rojo, eliminación. En este caso, todos los cambios son adiciones. Añadimos el archivo a la base de datos con los comandos git add y git commit.

No alt text provided for this image

Ooops.. Nos faltó el nombre de nuestra autora. Agreguemos estos cambios a nuestro archivo Poem_STP.txt y repitamos los comandos anteriores: git diff, git add, git commit -m :

No alt text provided for this image

Luego de todos estos cambios y adiciones, veamos el historial de los cambios y versiones:

  • git reflog: Es un resumen de los cambios realizados
  • git log: Es un resumen un poco más detallado como fecha, autor y hora que se realizaron los cambios.
  • git log -p: Te permite ver las adiciones, eliminaciones y cambios en cada versión. Podrás tener una idea de como fue cambiando el archivo.
No alt text provided for this image

5. Conclusiones

Git es un software útil para trabajar con archivos que son modificados regularmente. Un dato importante es que recomiendan que los archivos a seguir no sean binarios, como por ejemplo archivos word .docx. La razón es que no podrás ver los cambios a detalle, sino archivo entero, aunque existen aplicaciones que transforman estos archivos a texto para su interpretación por git, por lo que es subjetivo si es recomendable o no.

¿Dudas, opinión o sugerencias? Déjame tus comentarios.

Si te interesa alguno de nuestros servicios o leer todos nuestros posts, puedes localizarlos por esta red social o en nuestro portal SYNCORP. Gracias por la lectura.

6. Referencias

Git tutorial:

https://git-scm.com/book/es/v2

https://es.wikipedia.org/wiki/Radia_Perlman

Leave a Reply