image/svg+xml
git blame $archivo
ResumenGit
Git Sheatsheet
Crear
Clonar desde repo existente
En un proyecto existente
cd ~/proyectos/nombregit initgit add .
git clone ~/repo/existente ~/nuevogit clone git://host.org/pro.gitgit clone ssh://nom@host.org/pro.git
Recuerde, para ayuda: git command --helpLa configuracion global de git se encuentra en $HOME/.gitconfig (git config --help)
Archivos que han cambiado en el directorio de trabajo
Mostrar
Un archivo especifico del commit $ID
Cambios en los archivos actuales
git status
git diff
git show $id:$archivo
Todas las ramas locales
git branch
Historial de cambios
git log
Quién ha cambiado qué en un archivo
Qué ha cambiado entre $ID1 and $ID2
git diff $id1 $id2
Historial de cambios en un archivodeterminado
git log -p $archivo $dir/ec/torio/
Un commit definido por $ID
git show $id
Revertir
Revertir la ultima revisión
git revert HEAD
Revertir a una revisión determinada
git revert $id
Traer un archivo de una revisión determinada
git checkout $id $archivo
!
!
no se puede deshacer esta acción
Revertir los cambios a los de la ultima revisión
git reset --hard
Arreglar ultima revisión
git commit -a --amend
(despues de editar los archivos rotos)
Crea una nueva revisión
Crea una nueva revisión
Rama
Fusionar dos ramas
git checkout $branch2git merge branch1
Crear una rama llamada $branch basado en HEAD
git branch $branch
Cambiarse a una rama
git checkout $id
Crear la rama $branch_nueva basado enla rama $otra y cambiarse a ella
git checkout -b $branch_nueva $otra
Borrar una rama $branch
git branch -d $branch
Crear una revisión con todos los cambios actuales
Subir
git commit -a
Preparar un Parche para otros desarrolladores
git format-patch origin
git push
"Empujar" o enviar, los cambios hacia el origen
Crear una versión / Hito
git tag v1.0
(diferencias totales)
(se especifica con un '*' la rama actual)
"Jalar" los ultimos cambios en el origen
git pull
(hace un "fetch" seguido de un "merge")
Traer los ultimos cambios desde el origen
Actualizar
git fetch
(pero no fusinarlos).
(en caso de un conflicto, resolver y utilizar git am --resolved )
Aplicar un patch que alguien te ha dado
git am -3 patch.mbox
Encontrar regresiones
git bisect startgit bisect good $idgit bisect bad $idgit bisect bad/goodgit bisect visualizegit bisect reset
Buscar errores y limpiar el repositorio
git fsckgit gc --prune
Buscar la funcion "ejemplo()" dentro del repo
git grep "ejemplo()"
Para ver los conflictos al fusionar
git add $archivo_conflictogit rebase --continue
PUBLICAR
REVISIÓN
commit
REVERTIR
RAMAS
REVISAR
ACTUALIZAR
CREAR
statuslogshowdiffbranch
resetcheckoutrevert
pullfetchmergeam
push
initclone
checkout
Secuencia de Comandos
MODIFICAR
las curvas indican que el comando de la derecha esgeneralmente utilizado despues del que se encuentra a la izquierda. Esto da una idea de el flujo de comandos que se utiliza generalmente en Git.
format-patch
branch
Notación utilizada
$id : notación utilizada para representar ya sea un id de un commit (revisión), una rama o una etiqueta$archivo : nombre de archivo cualquiera$branch : nombre de una rama cualquiera %
Comandos Útiles
Traducido al español por Carlos Guerreroguerrerocarlos@gmail.comZack RusinBased on the work of:Sébastien PierreXprima Corp.
Conceptos
Lo Básico
master : rama de desarrollo por defectoorigin : repositorio de subida por defectoHEAD : rama actualHEAD^ : padre de la ramaHEAD~4 : visabuelo de la rama
git reset --hardgit rebase --skip
git diffgit diff --base $archivogit diff --ours $filegit diff --theirs $file
Despues de resolver conflictos, fusionar con
Descartar un parche con conflictos
Resolve Merge Conflicts
(con un archivo)
(contra tus cambios)
(contral los cambios de otros)
(a hacer para todos los archivos resueltos)
(para empezar)
($id es la ultima version que corria)
($id es la version con error)
(para marcarla como buena o mala
(cuando haya terminado)
(para lanzar gitk y marcarla)
Origenes:
Refinir origen del repositorio
git remote add origin usuario@servidor.org: proyecto/ repositorio.git