Las ventajas de git ya se han comentado y también cómo instalarlo y configurarlo, así que ahora toca comenzar a usarlo en nuestros proyectos, para tener un control de versión de los ficheros y evitar cualquier contratiempo en el código o en los ficheros.
Comenzamos creando un directorio de trabajo para el nuevo proyecto, así como la estructura que deseemos para el mismo.
shell> mkdir ~/proyecto_1 shell> cd ~/proyecto_1 shell> mkdir bin src img
Será sobre este directorio sobre el que creemos un repositorio git.
shell> git init Initialized empty Git repository in ~/proyecto_1/.git/
Si alguno de los ficheros y/o directorios no nos interesa que esté dentro del repositorio, lo añadimos al fichero .gitignore.
shell> echo "bin" > .gitignore
Y a continuación añadimos los ficheros al repositorio, como primer commit.
shell> git add . shell> git commit -m "Comenzamos el proyecto" [master (root-commit) e89cb3e] Comenzamos el proyecto 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 .gitignore
Comprobamos que todo fue correcto.
shell> git log commit e89cb3ed08f2e3ada7d2c7132807d87cecba1dbb Author: JavierDate: Tue Oct 18 20:07:44 2011 +0200 Comenzamos el proyecto
Ahora comenzamos a trabajar sobre el proyecto, creando ficheros nuevos, carpetas, modificando los ya existentes, etc.
shell> touch src/init.c shell> touch src/impresora.c shell> mkdir lib shell> touch lib/src_lib.c
Al terminar de hacer determinadas cosas, por ejemplo una nueva función, realizamos un commit, para tener un nuevo punto en el código. Para añadir los nuevos ficheros al proyecto, realizamos un add, pero con ello no realizamos un commit del estado, como se puede observar con el comando git log. Por ello, realizamos éxplicitamente el commit, con un nuevo mensaje.
shell> git add . shell> git log commit e89cb3ed08f2e3ada7d2c7132807d87cecba1dbb Author: JavierDate: Tue Oct 18 14:07:44 2011 +0200 Comenzamos el proyecto shell> git commit -m "Primero ficheros" [master f217715] Primero ficheros 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/src_lib.c create mode 100644 src/impresora.c create mode 100644 src/init.c shell> git log commit f2177158b8777ef82029c8604dcd225d6785b6d5 Author: Javier Date: Tue Oct 18 14:11:17 2011 +0200 Primero ficheros commit e89cb3ed08f2e3ada7d2c7132807d87cecba1dbb Author: Javier Date: Tue Oct 18 14:07:44 2011 +0200 Comenzamos el proyecto
Si ahora modificamos nuevamente un fichero,
shell> echo "#include \"stdio.h\""> src/init.c
y queremos saber cuales son las diferencias respecto de lo que había en el último commit.
shell> git diff diff --git a/src/init.c b/src/init.c index e69de29..2bdaa69 100644 --- a/src/init.c +++ b/src/init.c @@ -0,0 +1 @@ +#include "stdio.h"
Si ahora comprobamos el estado de nuestro repositorio, podremos observar cómo nos advierte que hay un fichero que está sin sincronizar y nos dice lo que habría que hacer para tenerlo actualizado.
shell> git status # On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file> " to discard changes in directory) # # modified: src/init.c # no changes added to commit (use "git add" and/or "git commit -a")
Lo realizamos y comprobamos que ya está sincronizado. Esta ver realizamos el commit con la opción -a, por si había algún fichero pendiente de añadir, sí lo añadiese.
shell> git commit -a -m "primeras lineas de codigo" [master cb10d95] primeras lineas de codigo 1 files changed, 1 insertions(+), 0 deletions(-) shell> git status # On branch master nothing to commit (working directory clean)
No hay comentarios :
Publicar un comentario