[embedyt] https://www.youtube.com/watch?v=IeluJqoiCcA[/embedyt]
Que es git?
Git es un software de control de versiones diseñado por el creador de Linux, (Linus Torvalds) pensando en la eficiencia y en el mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.
No voy a entrar a explicar en detalle como Git, modela los datos.
Para que sirve git?
Podemos decir que Git, hace una “copia” del proyecto, cuando confirmas un cambio, o guardas el estado del proyecto en Git, básicamente hace una foto del aspecto de todos tus archivos en ese momento, y guarda una referencia a esa instantánea.
Tú decides cuando deseas hacer una foto a tu código, y esto se realiza mediante un “commit”.
Ventajas:
- La fácil distribución del código.
- Facilidad para coordinar el trabajo entre multiples desarrolladores.
- Podemos saber quién y cuando se han hecho cambios.
- Revertir a versiones anteriores
Git está disponible para los tres grandes sistemas operativos, Linux/Unix, Windows y Mac OS X.
En esta breve introducción yo voy a utilizar Mac.
Descargar & Instalar Git en Mac
https://git-scm.com/downloads
Una vez, finalizada la descarga, sigue el proceso de instalación normal en tu sistema operativo.
Doble clic, en el fichero descargado y sigue el asistente de instalación.
En el segundo paso podrá elegir el Disco donde deseas instalar Git Y hacemos clic en Instalar.
Si todo ha ido bien, tendrás una ventana como la siguiente imagen.
Listos para trabajar con git.
Para iniciar tu primer proyecto en Git, en la carpeta donde tendrás tu proyecto, ejecuta el comando git init
.
Abre tu terminal y ejecuta el comando git init
Deberías tener un mensaje de respuesta, indicándote que se a inicializado un repositorio vacío.
Y la ruta de dicho repositorio.
Si, buscas algún fichero en la carpeta no verás nada. Aunque si, existen algunos ficheros ya que están ocultos.
Antes de continuar vamos a configurar nuestro nombre y email, para ello ejecutamos el comando
git config --global user.name 'tu nombre'
presionamos enter
git config --global user.email 'tu@email.com'
Para el propósito de este tutorial de Git, vamos a crear dos ficheros.
index.html
app.js
El contenido de estos fichero realmente no importa. En mi caso tendré el index.html con una estructura básica html.
Ahora si realizas un git status
Deberías ver algo como la imagen anterior.
Donde nos indica, que no hemos realizado ningún commit, y que existen dos ficheros “Untracked files”.
Es decir dos fichero de los que no tiene nada guardado.
Para que git empiece a seguir los cambios de este fichero vamos ejecutar git add .
Ahora volvamos al comando git status
Fíjate como a cambiado aunque seguimos sin commits, ahora tenemos dos ficheros añadidos.
Vamos a realizar un cambio en el fichero index.html
, en mi caso voy a modificar el title.
Guardo los cambios
Y si vuelvo a la terminal con el comando git status
Ahora la terminal me indica que el index.html
se ha modificado.
Muy bien!, si deseamos añadir estos cambios a nuestra instantánea, podemos hacerlo con el comando
git add index.html
, ahora estoy indicando que quiero añadir específicamente un fichero.
Ok, ya estamos listos para realizar nuestro primer commit.
En la terminal usamos el comando git commit -m "mi primer commit"
Pulsa enter.
Lo que hemos hecho a través del comando pedir a git que guarde los cambios realizados en el fichero, (en este caso es solo index.html, pero podrían ser más) con el flag -m y un mensaje “mi primer commit”.
En un proyecto real, lo siguiente seria enviar al repositorio remoto con git push, pero por ahora no tenemos ninguno, así que vamos a omitir esta parte, y pasemos a hablar del fichero .gitignore
Cuando estamos trabajando en un proyecto, es normal que en el directorio del proyecto, haya ficheros o carpetas que no nos interesa compartir con otras personas o que solo nos atañen a nosotros.
Para eso tenemos el fichero .gitignore, para indicarle a git que los fichero declarados en .gitignore no se deben tener en cuenta.
En la carpeta de nuestro ejemplo vamos a crear un nuevo fichero con el nombre de .gitignore
Si estás trabajando con Mac, es posible que no veas este fichero en la carpeta, pero si vas a tu editor de códigos y abres el proyecto verás que si existe el .gitignore
Ahora vamos crear otro fichero, y le llamaremos style.scss, esta extensión es de ficheros de estilos del preProcesador SASS.
Y no queremos subir este fichero, así que vamos a añadirlo al .gitignore.
Si realizamos un git status
, verás que nos informa de que tenemos dos nuevos ficheros.
Vamos al .gitignore y añade el nombre y la extensión del fichero del cual no deseas seguir, en este caso es style.scss, guardamos
Y volvermos realizar un git status
Solo tendremos el .gitignore
También podemos ignorar carpetas completas, o todos los ficheros de una determinada extensión, si quiere ignorar todos los archivos de texto, deberías indicar *.txt.
Si queremos compartir nuestro proyecto con otros programadores, debemos llevarlo a un repositorio remoto.
Vamos a github.com, si no tienes una cuenta create una, es gratis.
Una vez tengas cuenta y este logado, vamos a crear un nuevo repositorio
Ve directamente a https://github.com/new
Verás algo parecido a esto.
Donde debemos indicar el nombre del repositorio.
Una descripción opcional. Nuestro repo, debe ser public ya que la opción de repositorio privado es para cuentas de pago.
Y por último hacemos click en Create repository
Una vez creado el repositorio, verás algo como esto:
Directamente github nos ayuda con los pasos siguientes, dependiendo de si tenemos un repositorio creado o no.
En nuestro caso ya hemos creado un repo, con lo cual seguiremos las instrucciones para un repositorio existente.
Copia las dos lineas en la terminal y presiona enter.
Ahora actualiza la página de github y “voilà”
Por supuesto que nos queda un mundo por aprender sobre git, pero como introducción vamos a finalizar aquí.
Comandos Básicos Git
git init // Inicia un repositorio local
git add // Añade los ficheros al Index
git status // Comprueba el status del arbol de trabajo
git commit // Commit los cambios
git push // Enviar nuestros cambios al repositorio remoto
git pull // Descarga los últimos cambios del repositorio remoto
git clone // Clona, o realizar una copia desde el repositorio remoto al local
Recuerda compartir este contenido y que también puedes ver el video tutorial de git en español.