Git (control de versiones)


Git es un software de control de versiones y es uno de los más utilizado, nos permite subir y actualizar nuestro código. Y mantener sincronizado tu repositorio remoto con el local. Lamentablemente, son muchas las ocasiones nos damos cuenta de la importancia que tiene "git" cuando ya es demasiado tarde. Por ejemplo, ese momento en el que cunde el pánico porque toda nuestra información se ha borrado y no habíamos realizado copias de seguridad.

Para evitar esto, git nos brinda un historial (con los commits) y un respaldo de todos los cambios que hacemos hecho en el desarrollo de nuestro proyecto. Git es una herramienta de vital importancia a la hora de trabajar en equipo, ya que controlamos que cambios se han hecho y quien ha sido la persona que los a efectuado.

En esta ocasion voy a hablar sobre los comandos basicos de este sofware.

git init "inicializa un proyecto git"
git add "para agregar archivos"
git clone "copia en local un repositorio remoto"
git commit "das un comentario a los cambios que has hecho"
git status "Este comando muestra la lista de los archivos que se han cambiado junto con los archivos que están por ser añadidos"
git pull "actualiza el repositorio local con lo que venga del repositorio remoto"
git push "actualiza el repositorio remoto con lo los cambios que hemos hecho en local"




En la imagen anterior se muestra los pasos basicos de git.
1. Creo una carpeta con el nombre "gitBlog", entro en esta carpeta nueva y inicializo mi repositorio git (el punto uno de la imagen).

2. Agrego el fichero "doc1.txt" con algunos datos en su interior, tras esto hago un "git add" (agrega los cambios en el archivo) y un "git commit" con el que se adicionan todos los cambios realizados al repositorio local bajo el commit.

3. En este punto nos muestra el estado actual de los cambios y en que rama nos encontramos.

4. He hecho algunos cambios en el fichero y con "git status" se muestra los de detalles del estado de nuestro proyecto tras esos cambios.

5. Anadimos los cambios y con el "git status" vemos como git nos dice que estan a la espera de un commit.

El tema mas dificil de entender para mi, fue el de trabajar con RAMAS, y es en lo que me voy a detener a explicar con mas detalle.



En estos primeros pasos voy a usar dos comandos nuevos "git branch" (se usa para crear una rama nueva) y "git chechout" (para moveme de una rama a otra).

En el primer recuadro creo una rama nueva, miro el status, y luego me cambio a mi rama nueva "test2", como se puede obserbar en la imagen la rama nueva tiene exactamente los mismos datos que habia en la rama master. Los comandos mencionados anteriormente son vitales a la hora de trabajar con ramas.



En la imagen anterior se muestra como en la rama test2 se han hecho varios cambios tanto en archivos existentes como agregando nuevos y hago un commit para guargar los cambios. El siguiente paso (segundo recuadro) utilizo el comando "git log --graph --all" y este me muestra como ya la rama test2 sigue un camino distinto al de la rama master y podemos ver en pantalla los cambios realizados.



En la anterior imagen estoy intentando incorporar los cambios de la rama test2 a la rama master usando el comando "git merge" pero hay un conflicto, dado que en la rama master hay archivos que tienen otros datos diferentes a los de test2 (esto es debido a todos los cambios anteriores) por ello, antes de avanzar tenemos q solucionar este inconveniente, la forma mas facil es abrir el archivo en cuestion con algun editor de codigo (mi preferido es visual code) y aceptar o rechazar los cambios que vienen de la rama test2. Una vez hecho esto ya no tendremos inconvenientes en fusionar las ramas como se podra ver en las siguientes imagenes.

Como conclusion recomiendo practicar, ya que si esto lo diminamos, en el futuro con proyectos mas grandes y trabajando en equipo nos sera muy facil si tenemos unos conocimiento fuertes sobre este sistema de control de versiones. "La practica hace al maestro "

Comentarios

Entradas populares de este blog

Obtener un dominio GRATIS!

Certificado digital. HTTPS

Configuración VPS