Algunas veces es interesante ir hacia atrás y borrar todos los cambios a partir de cierto punto porque, a lo mejor, estaban todos mal. Entonces, utilizaremos para ello el comando:
Ese comando muestra una lista de commits recientes, y sus hashes SHA1. A continuación, debemos escribir:
$ git reset --hard SHA1_HASH
con él recuperamos el estado de un commit dado y se borran para siempre cualquier recuerdo de commits más nuevos. Otras veces es necesario saltar a un estado anterior temporalmente. En ese caso hay que escribir:
este comando nos lleva atrás en el tiempo, sin tocar los commits más nuevos. Y con el comando:
podemos volver al presente. También existe la posibilidad de restaurar sólo archivos o directorios en particular, para ello los agregarmos al final del comando:
$ git checkout SHA1_HASH algun.archivo otro.archivo
Esta forma de checkout puede sobreescribir archivos sin avisar. Para prevenir accidentes, es recomendable hacer commit antes de ejecutar cualquier comando de checkout.
Podemos obtener una copia de un proyecto administrado por git escribiendo:
$ git clone git://servidor/ruta/a/los/archivos
en el caso de ya tener una copia de un proyecto usando git clone, podemos actualizar a la última versión con:
Supongamos que estamos en un grupo de desarrollo y hemos realizado un script que nos gustaría compartir con otros. Para hacer esto con Git, en el directorio donde guardamos el script ejecutamos:
$ git init
$ git add .
$ git commit -m "Primer envío"
con lo cual, si los demás miembros del grupo de desarrollo ejecutan:
$ git clone tu.maquina:/ruta/al/script
podrán descargar el script. Esto asume que tienen acceso por ssh. Si no es así, ejecutamos git daemon y los demás desarrolladores utilizarían para obtener una copia del script:
$ git clone git://tu.maquina/ruta/al/script
De aquí en adelante, cada vez que modifiquemos el script y creemos que está listo para el lanzamiento, ejecutaremos:
$ git commit -a -m "Siguiente envío"
y los demás desarrolladores pueden actualizar su versión yendo al directorio que tiene el script y ejecutando:
En el caso de que queramos averiguar qué cambios hicimos desde el último commit ejecutaremos:
Otra de las ventajas de Git reside en la facilidad de crear nuevas ramas de trabajo, llamadas branch, donde probar nuevas características y hacer cambios complejos sin que afecte a la rama de trabajo principal. Luego, el proceso de fusión (merge), o la vuelta a un estado anterior es igual de fácil.
Github.com es una web donde alojar proyectos utilizando el sistema de control de versiones Git. Esta web ofrece, aparte del almacenaje de proyectos, herramientas para "socializarlos", como pueden ser feeds rss, wikis o gráficos de cómo los desarrolladores trabajan en sus repositorios.
Github.com.
Para empezar a usar Git, Github.com pone a disposición de quien los necesite, varios manuales en inglés tanto para configurar Git como crear nuestros primeros repositorios en Github.com