# git notes - http://git-scm.com/docs/git-notes # Anotar un commit git notes add -m 'Anotación extra' 72a144e2 # listado de anotaciones git notes list # añadir sólo un subconjunto de los últimos cambios -> modo interactivo # esta variante de add funciona con menus. Vamos escogiendo con la opcion "patch" y cuando terminamos salimos con "quit" git add -i # comparar dos ramas (si la rama es remota, puede hacer falta usar la ruta, origin/ramaX) # La comparación puede servir como "vista previa" de un merge git diff rama1..rama2 # si estamos en rama1, se puede omitir: git diff ..OTRA_RAMA # También se puede usar un hash para elegir con qué commit comparar # Excluir del repositorio los ficheros de backup de emacs # Añadir a .gitignore *~ .#* # Registrar cambios: add+commit # Incluir fichero f git add f git commit -m "Consecuencia de aplicar los cambios" # (una vez en el repositorio, se puede incluir automaticamente todos los ficheros con la opción -a de commit) # Cambiar el mensaje del ultimo commit git commit --amend # deshacer add git rm --cached # "Deshacer" ultimo commit git reset --soft HEAD~1 # Publicar cambios # normalmente, "donde" es origin, y "rama" es master git push donde rama # Descargar cambios (fetch + merge) git pull # Mostrar cambios en un commit # (con -w ignora cambios solo en espacios en blanco, # y con --word-diff solo muestra cambios en palabras, # en lugar de lÃneas enteras) git diff COMMIT^ COMMIT # Mostrar ficheros de un commit: git show --name-only -r commit_id git ls-tree --name-only -r commit_id # Ficheros modificados... # ...desde ultimo commit git status # ...en los ultimos commit git diff-tree -r commit_id # Informe de cambios git log # ...en una linea git log --pretty=oneline # ... para un fichero git log --follow -p FILE # Restablecer un fichero... # ... a la última "versión" git checkout f # ...a la versión del commit hash git checkout hash f # RAMAS # cambiar a rama r3 git checkout r3 # crear rama r4 a partir de r3 git checkout -b r4 # fusionar rama r2 con actual git merge r2 # aplicar un commit de otra rama a la rama actual git cherry-pick COMMIT # copiar un fichero de otra rama git checkout otra_rama fichero.py # Etiquetas: Versiones / Releases git tag -a v1.0 -m "Release 1.0" git push origin v1.0
Hooks
La base para publicar sitios web usando git (ver git website howto)
# En el servidor, editar hooks/post-receive # (asegurarse de que tiene permiso de ejecucion...) #!/bin/sh GIT_WORK_TREE=/var/www/www.example.org git checkout -f
Como siempre, para hacer push hay que añadir el origen remoto (en este caso, el servidor web)
Chuletas: SphereDev, Seth Robertson, Publicar una web usando Git, Little things I like to do with git