$ git init # Imprime y guarda algunas variables de configuracion básicas. (Globalmente) $ git config --global user.email $ git config --global user.name $ git config --global user.email "corre@gmail.com" $ git config --global user.name "nombre" # Una vista rápida de los comandos disponibles. $ git help # Chequear todos los comandos disponibles $ git help -a # Obtener ayuda especifica de un comando - manual de usuario # git help $ git help add $ git help commit $ git help init # Mostrará el "branch", archivos sin añadir al repo, cambios y otras # diferencias $ git status # Devuelve ayuda sobre el comando status. $ git help status # Añade un archivo en el directorio de trabajo actual. $ git add FooBar.java # Añade un archivo que se encuentra bajo un directorio. $ git add /directorio/del/archivo/Foo.c # Soporte para expresiones regulares! $ git add ./*.py # lista todas las ramas (remotas y locales) $ git branch -a # Añadir una nueva rama ("branch"). $ git branch branchNueva # Eliminar una rama. $ git branch -d branchFoo # Renombrar una rama. # git branch -m $ git branch -m youngling padawan # Editar la descripcion de la rama. $ git branch master --edit-description # Despachar un repositorio. - Por defecto la master branch. (la rama principal llamada 'master') $ git checkout # Despacha una rama especifica. $ git checkout padawan # Crea una nueva rama y cambia hacia ella, es igual a utilizar: "git brach jedi; git checkout jedi" $ git checkout -b jdei # Clonar la repo de jquery. $ git clone https://github.com/jquery/jquery.git # realizar un commit y añadirle un mensaje. $ git commit -m "jedi anakin wil be - jedis.list" # Muestra la diferencia entre un directorio de trabajo y el índice. $ git diff # Muestra la diferencia entre el índice y los commits más recientes. $ git diff --cached # Muestra la diferencia entre el directorio de trabajo y el commit más reciente. $ git diff HEAD # Gracias a Travis Jeffery por compartir lo siguiente. # Permite mostrar numeros de lineas en la salida de grep. $ git config --global grep.lineNumber true # Realiza una búsqueda mas legible, incluyendo agrupación. $ git config --global alias.g "grep --break --heading --line-number" # Busca por "unaVariable" en todos los archivos .java $ git grep 'unaVariable' -- '*.java' # Busca por una línea que contenga "nombreArreglo" y "agregar" o "remover" $ git grep -e 'nombreArreglo' --and \( -e agregar -e remover \) # Muestra todos los commits. $ git log # Muestra un numero x de commits. $ git log -n 10 # Muestra solo los commits que se han combinado en el historial. $ git log --merges # Combina la rama especificada en la rama actual. $ git merge jediMaster # Siempre genere un solo merge commit cuando se utiliza merge. $ git merge --no-ff jediMaster # Renombrando un archivo. $ git mv HolaMundo.c AdiosMundo.c # Moviendo un archivo. $ git mv HolaOtraVezMundo.c ./nuevo/directorio/NuevoArchivo.c # Sustituye un archivo. $ git mv -f archivoA archivoB # Actualiza el repositorio local, combinando los nuevos cambios # de las ramas remotas "origin" y "master". # git pull $ git pull origin master # Envía y combina cambios de un repositorio local hacia un repositorio remoto # llamados "origin" y "master", respectivamente. # git push # git push => por defecto es lo mismo que poner => git push origin master $ git push origin master # Integrar ramaExperimento dentro de la rama "master" # git rebase $ git rebase master experimentBranch # Reinicia el área principal, con el último cambio registrado. (deja los # directorios sin cambios) $ git reset # Reinicia el área principal, con el último cambio registrado, y reescribe el # directorio de trabajo. $ git reset --hard # Mueve la rama actual hacia el commit especificado (no realiza cambios a los # directorios), todos los cambios aún existen el directorio. $ git reset 31f2bb1 # Mueve la rama actual devuelta a un commit especificado, así como el # directorio (borra todos los cambios que no fueron registrados y todos los # cambios realizados después del commit especificado). $ git reset --hard 31f2bb1 # Elimina FooBar.c $ git rm FooBar.c # Elimina un archivo de un directorio. $ git rm /directorio/del/archivo/FooBar.c