martes, 5 de febrero de 2013

Git con Dropbox

Basado en el post: http://mario.thefrutos.com/2011/12/06/crear-un-repositorio-git-en-dropbox/

OBJETIVO: Tener un directorio de trabajo donde se capture el código fuente y tener un directorio donde se almacene el control de versiones o repositorio maestro (master).

NOTA: Esta realizado en windows, pero debe ser muy similar para Mac OSX.

1. Una vez instalado Git se debe configurar el nombre de usuario y el correo electrónico:

> git config --global user.name "James Bond"
> git config --global user.email "james007@gmail.com"

2. Inicializar el repositorio maestro donde se guardará el historial de cambios. Para esto nos dirigimos al directorio de Dropbox donde queremos almacenar el historial y estando ahí ejecutamos el siguiente comando:

> cd c:/users/miuser/dropbox/misproyectos/
> git init --bare miproyecto.git

NOTA: la opción bare nos permite llevar un mejor control de un repositorio central para más información http://sitaramc.github.com/concepts/bare.html

3. Ahora nos dirigimos al directorio donde queremos trabajar es decir donde estaremos programando nuestra aplicación, inicializamos el directorio con el siguiente comando:

> git init

4. Posteriormente le indicamos cual será el directorio remoto:

> git remote add miproyecto.git c:/users/miuser/dropbox/misproyectos/miproyecto.git

NOTA: Debemos tener cuidado aqui con la ruta ya que si no queda indicada la correcta

entonces podremos tener un error de permisos o bien de que no se encontró el repositorio.

5. Creamos archivos directorios, etc., es decir trabajamos en el (o programamos en otras palabras), entonces posteriormente estamos listos para enviar cambios, ejecutamos el siguiente comando para incluir todos los archivos (podemos incluir también nada más los que queremos; si no es el caso con el -punto- señalamos todos los archivos y directorios de trabajo):

> git add .

6. Una vez incluidos realizamos el commit para preparar el envío, esto nos permite incluir un mensaje que describa brevemente el conjunto de cambios que hemos realizado:

> git commit -m "Concluido el módulo X"

7. Una vez realizado lo anterior ahora si enviamos los cambios a nuestro repositorio remoto:

> git push miproyecto.git master

8. Al ejecutar el comando anterior aparecerá un proceso indicando que los archivos han quedado sincronizados. Con lo anterior podemos trabajar con Git, ahora que si lo que queremos es descargar lo que ya tenemos en otro equipo utilizamos el comando:

> git clone c:/users/miuser/dropbox/misproyectos/miproyecto.git

Esto nos creará una copia de lo que tenemos actualmente.

Si la url es diferente, es decir la ruta del directorio para llegar al repositorio central (en este ejemplo miproyecto.git) es diferente entonces será necesario usar la ruta completa cada vez que actualicemos en los diversos equipos. Por ejemplo:

> git push c:/users/miuser/dropbox/misproyectos/miproyecto.git master

NOTA: Como en este caso estamos utilizando Dropbox entonces lo más seguro es que tendremos que hacerlo de esa forma.

La proxima vez que en este mismo ordenador necesitemos bajar los archivos ya solo usamos:

> git pull c:/users/miuser/dropbox/misproyectos/miproyecto.git master

Con el comando:

> git status

Obtenemos las diferencias entre lo que tenemos del directorio de trabajo.

Con el comando:

> git log

Obtenemos los commit que hemos enviado al repositorio.

Ahora que si queremos una herramienta gráfica existe la siguiente:
http://code.google.com/p/gitextensions/

Para actualizar la versión de git he seguido esta guía:
http://ayanim97.com/mac/installing-and-upgrading-git-mac-os-lion

NOTA: En Mac OSX tuve problemas tuve que agregar la siguiente línea a mi ~/.bash_profile:

export PATH=/usr/local/git/bin:/usr/local/sbin:$PATH


ACTUALIZACION 2013-02-08:

Descartar cambios que no se han enviando en un commit: 
> git checkout -f 



Más información:
http://stackoverflow.com/questions/8957862/how-to-upgrade-git-to-latest-version-on-mac-osx-lion
http://blog.gautamkedia.com/discarding-local-changes-in-git


Espero te sea de utilidad !

No hay comentarios:

Publicar un comentario