hand Inicio

SERVICIOS

Salir

nochedía

DESARROLLO WEB con
GATSBY y WORDPRESS

emoji Cursos [24]
emoji Themes Gatsby [5]
emoji Themes WordPress [2]
emoji Blog [83]
emoji Herramientas [11]

La guía simple para trabajar con GIT

900 palabras
3 minutos
May 24, 2019
bloggit

Te explico el funcionamiento básico de git

  1. Prólogo
  2. Funcionamiento
  3. Inicializar un repositorio de GitHub
  4. Stage y Commit
  5. Sincronizando cambios
  6. Resumen

Prólogo

Trabajar con git nos permite tener un control de la evolución del código y nos sirve (por ejemplo) para poder recuperar versiones anteriores sin esfuerzo

En esta entrada te explico lo básico de git, y lo hago con mi editor favorito, el Visual Studio Code que ya lleva incorporado git de serie y nos facilita la tarea

Te lo puedes descargar en su página web, y te recomiendo que te instales la versión en inglés

Funcionamiento

Git trabaja con branch (ramas) como manera de separar desarrollos que pueden ir paralelos y que se irán juntando a medida que estén terminados (la rama principal se conoce como master)

A partir de allí, la estructura de git estaría formada por 3 partes

  1. El desarrollo local (la carpeta de tu ordenador o working directory)
  2. El index, que es el registro donde añades aquellos archivos que quieres señalar (normalmente serán todos), lo que se conoce como stage
  3. El head, que es donde guardarás todos los cambios de los archivos añadidos en el index, lo que se conoce como commit

Tu desarrollo típico por lo tanto se resume en

  1. Trabajar en una branch concreta (que puede ser siempre la master)
  2. A medida que avanzas vas haciendo stage y commit según tus criterios
  3. Y cada día o cada cierto tiempo sincronizas con tu repositorio remote

El sistema de repositorios más popular del momento es github.com, con otras alternativas que ya exploraremos en otras entradas

Inicializar un repositorio de GitHub

Lo más rápido para trabajar con github, una vez has abierto tu cuenta allí, es crear un nuevo repositorio directamente allí y luego clonarlo en local

Para esto, una vez creado el repositorio necesitamos copiar la url

Crear repositorio con github

Luego, una vez instalado Visual Studio Code (vscode), nos vamos al terminal view -> terminal

Y allí, en nuestra carpeta general (puedes moverte en el sistema de ficheros con los comandos cd 'carpeta' o cd ..) ejecutamos

bash
$ cd mi_carpeta_general_de_programacion
$ git clone https://github.com/tu_usuario/tu_repositorio.git

En línea de comando o shell, el uso del símbolo \$ se utiliza para indicar que esa línea es la que se escribe en comando (normalmente te encontrarás ese símbolo, o en vscode la ruta donde estés), mientras que lo que no lleve el símbolo se refiere a la respuesta que te da el shell

Donde tenemos que poner la url del repositorio (la ves en la imagen de arriba)

Esto creará una nueva carpeta que contendrá una copia exacta del repositorio que acabamos de crear en github (y que está totalmente vacía)

Lo interesante de haber hecho un git clone es que ya tenemos vinculado el local (nuestro ordenador) y el remote (github.com), esto lo podemos ver con

bash
$ cd tu_repositorio
$ git remote -v
origin https://github.com/tuUsuario/tuRepositorio.git (fetch)
origin https://github.com/tuUsuario/tuRepositorio.git (push)

Otra opción para prescindir de git clone sería crear la carpeta nosotros mismos para luego inicializar git y luego vincular el local y el remote con

bash
$ mkdir mi_carpeta
$ cd mi_carpeta
$ git init
$ git remote add https://github.com/tu_usuario/tu_repositorio.git

Donde la última órden, si no le especificamos ningún nombre es lo mismo que hacer

bash
$ git remote add origin https://github.com/tu_usuario/tu_repositorio.git

Al igual que master para nuestra branch por defecto, origin es el nombre por defecto de nuestro remote

Stage y Commit

Una vez hayamos terminado el desarrollo del día (o lo que decidamos), nuestro workflow consistirá en

  1. stage via git add * o git add tu_archivo.js
  2. commit via git commit -m "he añadido esto"
  3. push via git push origin master

El primer paso es para añadir a index aquellos archivos que querremos hacer un commit después

Si no queremos fraccionar nuestros avances en distintos commit lo que haremos será añadir todos los archivos con un git add *

Después hacemos el commit que es la copia real de los archivos en git (lo que nos permitirá tener un histórico)

El commit nos obliga a poner un mensaje que describirá la justificación de este commit

Y el tercer paso es la sincronización con nuestro repositorio remote

Sincronizando cambios

Push

Una vez terminado el commit tendremos git haciendo su trabajo en local, pero lo que queremos es propagar estos cambios a remote por razones de seguridad y para poder trabajar con otros ordenadores u otras personas sin problemas

Esto lo hacemos con

bash
$ git push origin master

O, puesto que tanto origin como master son los nombres por defecto de nuestro remote y branch, podemos simplemente hacer

bash
$ git push

Qué utilidad tiene el tener que especificar tanto el branch como el remote?

Aparte del evidente de ir sincronizando distintas ramas de desarrollo, también podemos utilizarlo para activar una compilación / publicación automática con netlify, esto es, un servicio que monitorea una branch específica y publica cada vez que detecta un cambio

Esto ya lo veremos más adelante

Pull

Pero y cuando hemos desarrollado en otros ordenadores y queremos sincronizar en la dirección opuesta, esto es, que nuestro local esté al dia de nuestro remote?

Lo hacemos con

bash
$ git pull

Esto por defecto equivale a escribir

bash
$ git pull origin master

Es decir, que cojerá nuestro remote origin, de allí cogerá nuestra branch master, y lo copiará y fusionará con nuestro local

Algunas veces un git pull no funciona y nos pide que especifiquemos el remote y el branch

Con el git clone esto no debe suceder, pero si creamos un nuevo branch en local antes que en remote, entonces git no sabrá qué vinculación hay entre local y remote

Esto lo solucionamos especificando el vínculo entre remote y branch bien cada vez con git pull origin master o bien

bash
$ git branch --set-upstream-to=origin/master master
$ git pull

Resumen

Git es un tema amplio y que da mucho de sí, queda pendiente cómo trabajar con distintas branch y como fusionarlas con merge, queda pendiente cómo añadir tag a cada commit, y configuraciones avanzadas que pueden facilitarnos mucho la vida cuando trabajamos con workspaces

Y también nos queda pendiente la integración de git con vscode, que para simples git add y git commit nos permite ir más rápido, pero que sobretodo nos facilita el ver los cambios que hemos hecho es nuestro código (por si tenemos que propagarlos manualmente a otros proyectos)

Qué tal la entrada?
👌 Bien 🙌🙌
👍 Bien, pero algunas cosas podrían explicarse mejor 😬
🤷‍♂️ Da por sentadas demasiadas cosas 😒
🤷‍♂️ A ver, hay poca chicha 😬
🤷‍♂️ Los ejemplos no son muy claros 🙇‍♂️
🤷‍♂️ No se entiende, está mal escrito 👎
✍️ Hay errores, revísalo en cuanto puedas 🙏

Quizá te interese

Privacidad
by kuworking.com
[ 2020 >> kuworking ]