Git es un sistema de control de versiones sumamente poderoso, ees una de las herramientas básicas que un buen programador debe usar, y para mi es sin lugar a dudas uno de los aspectos que hacen a un excelente programador.
Git es una herramienta que nos ayuda a tener un registro de las diferentes versiones de nuestro código. Pero además hace muy fácil y transparente compartir nuestros proyectos y de paso respaldarlos.Y en especial con servicios como GitHub ha hecho de programar y compartir algo universal. En este tutorial vamos a ver como usar git en conjunto como GitHub
Instalando Git en Linux
Solo hay que ejecutar
sudo apt-get install git
Y listo!
Instalando Git en windows
Versión original git
Uno puede instalar git_ bajándola de este link:
Simplemente uno lo baja y sigue las instrucciones en pantalla (con escoger las opciones por default es suficiente).
Esta versión ofrece una interfaz un poco limitada y algo confusa (Git GUI), o una interfaz de línea de comandos (Git bash). Pero uno puede bajar diferentes versiones gráficas para mejorar la experiencia:
Usando Git con GitHub
El ciclo normal de git para trabajar con un proyecto establecido en GitHub es:
- Clonar el proyecto (clone)
- Hacer modificaciones en código
- Empacar las modificaciones (commit)
- Actualizar el código (pull)
- Compartir dichas modificaciones (push)
Clonar un proyecto
Para clonar un proyecto y por lo tanto tener su código fuente (más toda la historia de versiones) solo falta ejecutar el siguiente comando:
git clone URL
La URL puede ser obtenida de un proyecto en particular. Por ejemplo, estos son los proyectos que tengo:
En cualquier de estos pueden entrar, y conseguir la dirección en la parte que dice “HTTP clone URL”. Por ejemplo para mi proyecto sobre el curso de aprendizaje automático esta dirección es:
Una vez terminada la clonación, aparecerá un directorio cursoML en donde está el código clonado.
Para explorar los proyectos hospedados en GitHub puedes visitar el siguiente link:
Hacer modificaciones
Uno puede modificar el código como uno desee. Para estar atento de las modificaciones que uno ha hecho, uno puede ejecutar el siguiente comando:
git status
Si uno desea agregar un nuevo archivo al control de versiones, uno puede ejecutar el siguiente comando:
git add path
Esto agregará el archivo que refiere path y empezará a seguirlo para mantener el historial de cambios en ellos.
Empacar modificaciones
Una vez que tiene al código en un estado con el que uno está contento, éste se puede empacar con el siguiente comando:
git commit -m MENSAJE path
Mensaje es un comentario sobre que significa estos cambios, y path es el código del que queremos empacar nuestras últimas modificaciones. Si uno modificó muchos archivos puede usar la opción -a y evitar el path para empacar automáticamente todos los archivos recientemente modificados.
git commit -am MENSAJE
Actualizar nuestro proyecto
Mientras nosotros hacemos cambios puede haber una nueva versión de los archivos hecha por algún colaborador. Para actualizar nuestro proyecto ante estas nuevas versiones podemos ejecutar el siguiente comando:
git pull
Esto actualizará nuestro proyecto de la dirección que clonamos.
Compartir nuestra modificaciones
Hasta ahora las modificaciones que nosotros hemos hecho al código son locales, pero si necesitamos compartirla con alguien más podemos actualizar el código del proyecto clonado usando la siguiente instrucción:
git push
Nada más hay que tener en cuenta que uno tiene que tener las credenciales adecuadas para que sea esto posible. En github esto significa tener una cuenta y ser contribuidor.
Independizando el código en GitHub
Si uno no quiere pasar por el código original o simplemente quiere tener
independencia creativa en el proyecto. Uno puede hacer un fork del código.
Esto le permite crear una copia del proyecto pero bajo nuestra
responsabilidad. En github esto consiste en oprimir el ícono de fork en
el sitio del proyecto que queremos. Después de esto podemos clonar el proyecto
con la dirección asociada a nuestro usuario, y listo!
Creando nuestro propio proyecto
Por supuesto, uno no tiene que partir de un proyecto, y puede comenzar de uno vacío. Para crear un archivo y asociarlo a GitHub uno puede usar la opción en la página:
Uno llena los datos y escoge las opciones, y después ejecuta las siguiente opciones:
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin URL
git push -u origin master