Contenido
Toggle¡Descubre cómo dominar Git y lleva tu control de versiones al siguiente nivel!
Vamos a intentar explicar ¿Qué es Git? de una forma breve, mas adelante explicaremos poco a poco todo lo que nos ofrece, pero por ahora para entender que es y que nos ofrece nos podemos hacer una idea.
Seguro que si estás empezando en el desarrollo de software o programación lo habrás escuchado más de una y mil veces, pero, ¿Sabes realmente que es y cómo sacarle beneficio a Git?
Es una de las primeras cosas que vimos al iniciar el Bootcamp en HACK A BOSS, básicamente porque material de estudio, prácticas y clase debe gestionarse de esta manera, al principio si no estás acostumbrado a Linux te crees MR. Robot, pero no van por ahí los tiros.
Bueno pues voy a intentar explicarlo.
¿Qué es Git?

Podemos venirnos arriba y tirar de la Wiki que lo describe como
Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia, la confiabilidad y compatibilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.
https://es.wikipedia.org/wiki/Git
Si vamos a cifras y letras, la definición está genial, pero vamos a intentar bajarle 3 tonos, Git es un software de control de versiones (cambios) y de código abierto, es como un almacén de históricos de los cambio realizados a lo largo de la creación de software, se guarda cada cambio que el o los desarrolladores realizan permitiéndonos «ir al pasado» por si metemos la pata, estos cambios pueden ir documentados e identificados por el desarrollador que realizo esos cambios.
Es como tener nuestro porpio «Delorian» pero solo hacia atras.
Al no depender de un servidor centralizado nos permite tener una copia del repositorio en local y es plenamente funcional.
Pimeros pasos con Git
Lo primero de todo es su instalacion, para ello lo puedes descargar desde su pagina oficial de forma gratuita Git Descargar.
Una vez descargado deberas instalarlo, para ello debes configurarlo con un nombre y un correo electronico.
git config --global user.name "Tu nombre"
git config --global user.email "Tu correo electrónico"
Una vez terminas de instalar Git, debes verificar si su instalacion fue correcta para ello tendras que comprobar la version, abre la terminal y escribe este comando
git --version
asi nos aseguramos que todo esta ok.
Uso de Git.
Veamos un ejemplo de un uso prácticamente diario.
Imaginan que estás trabajando con los compañeros en el desarrollo de un software, estáis usando Git para la gestión del código fuente del proyecto que estáis haciendo, cada uno tiene su repositorio donde está trabajando en local tranquilamente y de forma independiente.
Un día, decides agregar una nueva funcionalidad al proyecto en el que trabajáis, primero creas una rama, que es como un «camino alternativo» dentro del proyecto donde se almacén los commits, que son puntos de control como si guardaras la partida que estás haciendo tú y que están separadas del flujo principal de trabajo, permitiendo que el resto de compañeros sigan elaborando partes de ese proyecto sin interrupciones, ya cuando tengas el ok del resto de compañeros y no rompe nada, más adelante la puedes fusionar con la rama principal y así vas avanzando.

¿Como se trabaja en Git en 4 pasos?
- Creación de una nueva funcionalidad:
- Utiliza el comando
git checkout -b nueva_funcionalidadpara crear una nueva rama en tu repositorio local. - Realiza los cambios necesarios en los archivos de código para implementar la nueva funcionalidad.
- Utiliza el comando
- Guardado de los cambios:
- Agrega los cambios realizados a la zona de preparación utilizando
git add <nombre_archivo>ogit add .para agregar todos los archivos modificados. - Realiza un commit de los cambios con el comando
git commit -m "Mensaje descriptivo"para guardar los cambios en la rama actual.
- Agrega los cambios realizados a la zona de preparación utilizando
- Trabajo simultáneo:
- Mientras trabajas en tu nueva funcionalidad, otros miembros del equipo pueden estar trabajando en otras partes del proyecto en ramas separadas, lo que permite una colaboración simultánea sin interferencias.
- Integración de la funcionalidad en la rama principal:
- Una vez completada la nueva funcionalidad y confirmada su funcionalidad, es hora de integrarla en la rama principal del proyecto.
- Utiliza
git checkout masterpara cambiar a la rama principal. - Ejecuta
git merge nueva_funcionalidadpara fusionar los cambios de la rama de la nueva funcionalidad en la rama principal.
7 Consejos o Trucos con Git
- Commit frecuente y descriptivo: Realiza commits pequeños y frecuentes, y asegúrate de que cada commit tenga un mensaje descriptivo que explique claramente los cambios realizados.
- Usa ramas (branches) para experimentar: Utiliza ramas para trabajar en nuevas características o solucionar problemas sin afectar la rama principal del proyecto. Esto te permite experimentar de forma segura y mantener un flujo de trabajo ordenado.
- Revertir cambios con git checkout y git reset: Si cometes un error o deseas deshacer cambios, puedes utilizar los comandos
git checkoutygit resetpara volver a versiones anteriores del código. - Aprende a usar git rebase: El comando
git rebasete permite reorganizar, editar o combinar commits antes de fusionarlos con la rama principal, lo que puede ayudar a mantener un historial de commits limpio y fácil de entender. - Ignora archivos no deseados con .gitignore: Crea un archivo
.gitignoreen el directorio de tu repositorio para especificar los archivos y directorios que deseas ignorar, como archivos de compilación, archivos temporales o archivos sensibles. - Usa alias de Git: Crea alias personalizados para los comandos de Git que utilizas con frecuencia, lo que te permitirá ahorrar tiempo y escribir menos código. Por ejemplo, puedes crear un alias para
git statuscomogit s. - Explora la documentación y recursos: Git tiene una amplia documentación y una comunidad activa. Tómate el tiempo para explorar la documentación oficial de Git, tutoriales en línea y recursos como Stack Overflow para aprender más y mejorar tus habilidades con Git.
Resumen
Git permite trabajar en diferentes áreas del desarrollo, de una forma grupal y organizada, realizando cambios o nuevas implementaciones sin afectar al resto de compañeros y volver a recuperar una versión estable de un proyecto en caso de incidencia.

Preguntas Frecuentes (FAQs)
1. ¿Cuál es la diferencia entre Git y GitHub?
Git es el sistema de control de versiones, mientras que GitHub es una plataforma de alojamiento de repositorios que utiliza Git para el control de versiones. Git es la herramienta que utilizas en tu computadora para gestionar tus proyectos, mientras que GitHub es un servicio en línea que te permite almacenar y colaborar en tus proyectos con otros desarrolladores.
2. ¿Puedo usar Git sin conexión a internet?
Sí, puedes usar Git de forma local en tu ordenador sin necesidad de estar conectado a internet. Sin embargo, para colaborar con otros desarrolladores o sincronizar tu trabajo en diferentes dispositivos, necesitarás acceso a internet para enviar y recibir cambios a un repositorio remoto como GitHub.
3. ¿Qué es un commit en Git?
Un commit en Git es un registro de un conjunto de cambios realizados en tus archivos. Cada vez que realizas cambios significativos en tu proyecto, como agregar nuevas funciones o corregir errores, puedes guardar esos cambios en un commit con un mensaje descriptivo que explique los cambios realizados.
4. ¿Cómo puedo deshacer un commit en Git?
Puedes deshacer un commit en Git utilizando el comando git reset. Dependiendo de tu situación, puedes utilizar git reset --soft para deshacer el commit y conservar los cambios en el área de preparación, o git reset --hard para deshacer el commit y perder todos los cambios realizados en él.
5. ¿Cuál es la diferencia entre un merge y un rebase en Git?
Tanto el merge como el rebase son formas de combinar cambios de una rama a otra en Git, pero difieren en la forma en que lo hacen. Un merge crea un nuevo commit que fusiona los cambios de dos ramas, mientras que un rebase mueve los commits de una rama a la otra, creando una historia lineal de cambios. Dependiendo de tu flujo de trabajo y preferencias personales, puedes elegir entre merge y rebase para integrar cambios en tus proyectos.


