Upload
sergio-gomez
View
467
Download
0
Embed Size (px)
Citation preview
Nivel Samurai
¡Hola!
• Sergio Gómez• Software Architect at • @pulsarin• linkedin.com/in/bedeveloper
Contenido• Básicos Git• Re-escribiendo la historia• Workflows• La comunidad OpenSource• Hacks
¿De qué va esto?
¿De qué va esto?
Básicos Git
Básicos Git
• Configúralo• Type less, be quicker• User & passwd? • Automatiza
~/.gitconfig[user]
name = Sergio Gomez
email = [email protected]
[core]
editor = vim
[push]
default = simple
aliasci = commit -v
st = status
co = checkout
br = branch
unstage = reset HEAD --
last = log -1 HEAD
bitch = push --no-verify
aliasci = commit -v
st = status
co = checkout
br = branch
unstage = reset HEAD --
last = log -1 HEAD
bitch = push --no-verify
aliaslgb = log --graph \
--pretty=format:'%Cred%h%Creset \
-%C(yellow)%d%Creset %s %Cgreen(%cr) \
%C(bold blue)<%an>%Creset%n' \
--abbrev-commit \
--date=relative \
--branches
alias
ssh & public key• ¿Contraseña en cada operación?• Múltiples usuarios• Entre repositorios• En el mismo repositorio
~/.ssh/config
Automatiza
• rebase• borrado de ramas
Re-escribiendo la historia
Re-escribiendo la historia
• git commit --amend
• git rebase -i $ref
• git cherry-pick $ref
• git push -f
Re-escribiendo la historia
Re-escribiendo la historia
Re-escribiendo la historia
Re-escribiendo la historia
Re-escribiendo la historia
Workflows
Workflows
• Centralizado• Funcionalidad por rama• Gitflow• Forking
Centralizado
• Mismo remoto para todos• Muchos conflictos• Poco versátil• Es el más sencillo
Rama por funcionalidad
• Pueden trabajar equipos en paralelo• Master siempre estable• Puedes decidir cuándo integras• Conflictos puntuales, pero más
grandes• Proyectos relativamente pequeños
Gitflow
• Estructura predefinida• Funciona bien en proyectos grandes• Separa cada rol específico en ramas• Máxima estabilidad
Gitflow
Forking
• Remoto por usuario• Tu repo, tus normas• Integraciones sin compartir
repositorio• Permite colaboraciones externas
OpenSource
Trabajando con la comunidad
• Forking y pull request
• Explícate• Sé concienzudo• Sé humilde, no es personal
“Hacks”
Usa hooks
• Automatiza• Validaciones previas• Acciones pre-push
• Notificaciones• …
Plantillas Pull Request
• Github las soporta, Bitbucket en proceso• Esqueleto con la info mínima• Estandariza la interacción con el
repositorio
Ignores temporales
• git update-index --assume-unchanged <file>
• git update-index --no-assume-unchanged <file>
Comandos interesantes
• git reflog• git prune• git stash• git bisect• git filter-branch• git submodule
¿Usas varios equipos?
• Dropbox :)
¿Dudas?
[email protected] ARE HIRING
@StratioBD
¡Gracias!@pulsarin