Como empezar a trabajar con Git
Voy a intentar explicarlo relativizandolo al uso de dropbox.
Cuando usamos dropbox tenemos:
- Nuestros GBs de Dropbox en la nube (REMOTE)
- Nuestra carpeta de dropbox en nuestro PC (LOCAL)
Comandos basicos para trabajar en nuestro ordenador local
Para clonar lo que tenemos en la nube usamos un comando, git clone direccion.
Por ejemplo:
git clone git://github.com/schacon/simplegit.git
Esto nos va a crear una carpeta en nuestro sistema, un clon del REMOTE en nuestro ordenador (LOCAL).
Entonces ya podemos trabajar con nuestro editor favorito y cambiar lo que queramos. Todo lo que hemos ido haciendo se ha quedado registrado. Ahora es el momento de "salvarlo" (COMMIT).
Para ello tenemos que hacer dos cosas:
- Señalar que cosas queremos guardar.
- Añadirle un mensaje a estos cambios.
Para ver la lista de todo lo que hemos tocado, ejecutamos el siguiente comando:
git status
Nos listara todos los ficheros. Si usamos SourceTree lo podemos ver mas claro en la herramienta. Despues tenemos que seleccionar aquellos cambios que nos interesan y guardarlos, y despues descartar el resto. Para ello haremos lo siguiente:
git add fichero_que_me_gusta1
git add fichero_que_me_gusta2
git add fichero_que_me_gusta3
Y asi sucesivamente hasta que tengamos todos los que nos interesen. Despues tenemos que ponerle nombre a todos esos cambios. Eso se hace con "git commit -m" y quedaria tal que asi:
git commit -m "He añadido la funcionalidad X a la web"
Y ya tenemos guardados esos cambios. Podemos seguir trabajando con normalidad, pero podemos tener cambios anteriores que no nos interesan. Para eliminarlos escribiremos git checkout:
git checkout fichero_que_quiero_que_desaparezca
Una vez todo limpio (si es que molesta) podemos seguir trabajando.
Llegado este punto, tenemos todo guardado en LOCAL, pero nos falta algo para sincronizar con la nube (REMOTE).
Como sincronizar informacion
Lo normal es tener dos REMOTES, es decir, dos como carpetas de dropbox. Una con el trabajo de todos y otra con tus cosas. Lo normal al empezar a trabajar es copiarse todo el contenido de la carpeta de la carpeta comun y fusionarla con tu trabajo personal. Para hacer esto, lo normal es utilizar el comando pull:
git pull common_remote master
Con este comando cogeremos toda la informacion de la carpeta common_remote y copiaremos su contenido en master. Esto puede traer conflictos, de los que hablaremos luego.
A continuacion podemos trabajar y cuando tengamos algo que nos gusta haremos commit como se ha explicado anteriormente.
Cuando tenemos el trabajo que nos gusta, lo que haremos sera sincronizarlo con NUESTRA carpeta (remote) personal. Esa suele llamarse "origin". Para subir la informacion haremos:
git push origin master
Esto volcara nuestra informacion a la nube. Y despues el team leader hara lo necesario para balancear las dos carpetas, mediante pull requests, merges o lo que requiera.
Es bastante basico, pero puede dar ideas!