Para la gestión ágil de cualquier proyecto, independientemente del tamaño del mismo, es imprescindible el uso de un control de código fuente y sus versiones, a través de un sistema que permita a los equipos de desarrollo mantener una colaboración fluida, conservando un histórico de cómo evolucionan los fuentes y que simplifique al máximo la resolución de “conflictos” cuando más de una persona ha editado un mismo fichero.
Durante muchos años el estándar de los sistemas de control de versiones ha sido de tipo centralizado (Centralized Version Control Systems o CVCS) donde un único servidor almacena todos los archivos versionados, y varios clientes se descargan en su local los archivos.
Frente a ellos, han aparecido en el mercado los sistemas de control de versiones distribuidos (Distributed Version Control Systems o DVCS) como Git, desarollado por Linus Torvalds, en los cuales los clientes tienen una copia íntegra del repositorio.
El objetivo de Git es el de ser un sistema de control de código fuente, de fácil uso, rápido y que simplifica la creación de ramificaciones de forma que el desarrollo no tenga por qué ser lineal.
El potencial de Git radica en la forma de modelar los datos, como un conjunto de instantáneas y no como una lista de cambios en los ficheros. A esto hay que añadir que la mayoría de las operaciones sólo necesitan ficheros y recursos locales.
Para entender el funcionamiento es importante que conozcas los tres estados posibles que puede tener un fichero:
- Modificado: fichero editado pero no confirmado en tu repositorio local.
- Preparado: fichero que has modificado y añadido para la confirmación.
- Confirmado: fichero con cambios ya almacenado en tu repositorio local.
A continuación veremos los comandos básicos para empezar a trabajar con Git.
$ git clone url [dirDestino]
Para descargarte una copia íntegra de un repositorio ubicado en la url y la posibilidad de especificar el directorio destino en dirDestino.
$ git status
Muestra los ficheros modificados o preparados.
$ git add –A
Preparar los ficheros modificados para la confirmación de los cambios.
$ git commit -m “Mensaje descriptivo”
Para confirmar los cambios preparados con el mensaje especificado.
$ git pull
Para traerte a local una copia del repositorio.
$ git push
Para poder subir los cambios confirmados al repositorio.
$ git log
Para ver el histórico de confirmaciones.
$ gitk
Abre un log con el histórico pero en un entorno visual.
$ git diff –cached
Podrás ver los cambios que llevas preparados.
$ git stash
Crea una copia provisional dejando limpia el área de trabajo.
$ git stash pop
Recuperar el guardado provisional.
$ git checkout develop
Cambiar a la rama con nombre develop.
Por tanto un flujo simple de trabajo sería el siguiente:
- Recuperar los cambios del repositorio ($ git pull).
- Crear o editar los ficheros.
- Prepararlos para la subida. ($ git add –A).
- Confirmarlo ($ git commit).
- Subirlos al repositorio para que sean visibles para el resto del equipo. ($ git push).
Para finalizar te dejo los siguientes enlaces a distintas herramientas que facilitan el uso de Git en Windows:
- Git for Windows: contiene el ejecutable de Git y herramientas para usarlo de forma sencilla desde la consola de comandos.
- Tortoise Git: para el control desde el explorador de archivos de Windows.
- Git Credential Manager (GCM): útil si estás usando Visual Studio Team Services y no quieres escribir tus credenciales en cada operación que realices en la línea de comando.
Referencias:
- https://git-scm.com/book/es/v1/Empezando-Acerca-del-control-de-versiones
- http://nvie.com/posts/a-successful-git-branching-model/
- https://www.pluralsight.com/courses/git-fundamentals
Vanesa Matas. Licenciada en Ingeniería Informática por la Universidad Autónoma de Madrid. Empezó su etapa profesional en el mundo web con PHP. Posteriormente ha trabajado con tecnologías Microsoft y en 2011 se incorporó a la unidad de Soluciones Microsoft de Sogeti España. Desde entonces trabaja como analista programador en el desarrollo de aplicaciones .Net.
0 comments on “Introducción a Git”