Aprende a usar Git facilmente

Hace un tiempito escribí como utilizar Git desde Eclipse usando el plugin Egit, pero ahora ya no estoy usando Eclispe y me las tengo que arreglar con la amada consola de ubuntu :)

La idea de este post es ir armado un mini tutorial sobre los comandos que disponemos, como usarlos y las diferencias con svn

Antes que nada les recuerdo como instalar Git

sudo aptitude install git-core git-doc

Luego de la instalación debemos configurar los datos del usuario que realizara los commits

git config --global user.name "Tu nombre de usuario"
git config --global user.email tuMail@email.com

También podemos configurar si GIT utiliza colores o no, por default los colores estan en off

git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto

Crear un repositorio en GIT es mas fácil que con svn (y lo mejor que solo crea un solo archivo donde esta todo el estado del repositorio, y no las miles(?) de carpetas que crea svn)

cd /path/to/new/repo
git init

En git, realizar un checkout (jerga svn) se lo indica con la opción clone, de esta forma descargamos la última versión de los archivos del repositorio

git clone git@github.com:mostofreddy/FlyPHP.git

Actualizar nuestro repositorio local en svn se realiza mediante update, en git mediente pull

git pull

Para importar un proyecto, primero debemos agregar los archivos a git y luego hacer el commit de los mismos

git add .
git commit

Obtener el listado de diferencias de lo que hay en el repositorio y los archivos locales

git status

Visualizar las diferencias existentes

git diff

Si queremos recuperar la última versión de un archivo (no lo confundamos con el checkout de svn ;) )

git checkout pathToFile

También podemos ver el log del repositorio

git log
git blame pathToFile

Agregar un repositorio externo (por ejemplo de github)

git remote add origin sshToRepoRemote

Bueno, acá hay un tema, no voy a comenzar a hablar sobre lo que significa un repositorio distribuido como lo es git y etc, etc, simplemente diré que a diferencia de svn, git permite tener un repositorio local en nuestra pc y cuando lo consideremos oportuno subir los cambios al repositorio central.

El comando commit lo que hace es subir los cambios a nuestro repositorio local, para enviarlos al repositorio central debemos utilizar este otro comando (obvio que luego de realizar commit)

git push origin nameToBranche/Trung/tag

Algo muy útil es ver la estructura de repositorio externo

git remote show origin

Bueno, por ahora nada mas.