Lihuen
RSSRSS AtomAtom

Diferencia entre revisiones de «Git»

(Diffs y logs)
(Borrando archivos y enmendando el último commit)
Línea 41: Línea 41:
 
* Para corregir el nombre y dirección de autor del commiter:
 
* Para corregir el nombre y dirección de autor del commiter:
 
  git commit --amend --author "Nombre Apellido <napellido@email.com>"
 
  git commit --amend --author "Nombre Apellido <napellido@email.com>"
 +
* Para borrar un commit:
 +
git reset --hard HEAD~1
 +
git push --force origin HEAD
  
http://git-scm.com/book/en/Git-Basics-Undoing-Things
+
* http://git-scm.com/book/en/Git-Basics-Undoing-Things
 +
* http://stackoverflow.com/questions/1338728/how-to-delete-a-git-commit
  
 
===Remotos===
 
===Remotos===

Revisión de 19:47 12 oct 2013

Documentación

Recetas

Configuración

  • Configurar git para el usuario:
git config --global user.name "Pipo Perez"
git config --global user.email  "pperez@servidor.com" # Un mail que se pueda publicar
git config --global color.ui auto
git config --global core.editor vim

Colores personalizados

Básicos

  • Inicializar un repositorio local
mkdir foobar
cd foobar
git init
  • Agregar quitar archivos
git add archivo
git rm archivo
  • Agregar cambios en un archivo
git add archivo
  • Status y commit
git status
git commit -m "Comentario"

Borrando archivos y enmendando el último commit

  • Para sacar un archivo de el área de staging (si le hicimos "git add" por accidente):
git reset HEAD <archivo>
  • Para deshacer los cambios de un archivo que no está commited:
git checkout -- <archivo>
  • Si faltó agregar o borrar algún archivo, o la descripción del último commit tiene errores:
git commit --amend
  • Para corregir el nombre y dirección de autor del commiter:
git commit --amend --author "Nombre Apellido <napellido@email.com>"
  • Para borrar un commit:
git reset --hard HEAD~1
git push --force origin HEAD

Remotos

  • Agregando servidores remotos
git remote add origin
  • Push (enviar cambios) del branch master a un remoto
git push origin master
  • Pull (recibir cambios) desde el branch master de un remoto
git pull origin master
  • Para configurar servidor origin y branch master por defecto para los push y pull, hay que ejecutar alguno de los siguientes comandos una sola vez:
git push --set-upstream origin master
git push -u origin master

Remotos con tags y branches

  • Push de todos los branches (locales) y push de todos los tags:
git push --all
git push --tags
  • Push de todas las refs (branches, tags y branches remotos):
git push --mirror
  • Eliminar una ref en un remoto:
git push --delete nombre_branch
git push :nombre_branch

Diffs y logs

  • Comparar con commits anteriores:
git diff HEAD~1 # Commit padre
git diff HEAD~2 # Commit padre del commit padre
git diff HEAD^1 # Commit de un padre (para merges)
git diff HEAD^2  # Commit de otro padre (para merges)
  • Ver logs con dibujos de los branchs:
git log --graph --decorate
  • Ver quién modificó cada línea:
git blame archivo
  • Ver qué cambió en cada commit:
git whatchanged
  • Distintas formas de especificar una revisión:

http://git-scm.com/docs/gitrevisions.html

  • Ver la historia de commits:

http://git-scm.com/book/en/Git-Basics-Viewing-the-Commit-History

Eliminando archivos de la historia de Git (no hacer a menos que se justifique)

https://help.github.com/articles/remove-sensitive-data