SlideShare a Scribd company logo
1 of 64
Download to read offline
with gifs
Sistemas de
  control de versiones

Gestionan los cambios realizados
  sobre diversos elementos a lo
        largo del tiempo.
Git

•   Diseñado por Linus Torvalds para
    Linux.


•   Git: distribuido, rápido y
    eficiente.
Conceptos básicos
•   Branches: ramas del repositorio.
•   Commits: guardado de cambios.
•   Merge: mezcla de los commits de
    distintas ramas.
•   Push/Pull: sincronización con el
    repositorio remoto.
No tenemos nada
en contra de SVN
     pero...
...cuando un nuevo
 empleado dice que
 prefiere usar SVN
 antes que Git...
Workflow ideal

•   Desarrollo en ramas de largo recorrido
    (master/develop).

•   Rama master para versiones estables.

•   Ramas puntuales:

    o   features: nuevas funcionalidades.

    o   releases: para congelar una versión.

    o   fixes: corrección de bugs.
Desarrollo

•   Nunca commits directos
    sobre master.

•   Develop estable
    => merge a master.
Features

•   Nuevas features siempre
    nacen de develop.

•   Features finalizadas siempre
    vuelven a develop y se borran.
Releases
•   Nuevas releases siempre nacen de develop.

•   Releases finalizadassiempre vuelven a
    master y develop.

•   Se congela la release
     en un tag.
Fixes

•   Fixes siempre nacen
    de master.

•   Fixes vuelven amaster y develop.

•   Se genera unanueva versión.
Siguiendo esto...
...pero no siempre
  es aplicable.
Una mañana
 cualquiera en
Simplelógica...
Tenemos marrones
Muchas veces nos
  gustaría...
Pero es nuestro
  trabajo...
Con clientes

•   Periodo de desarrollo menos
    prolongado.
•   Cambios imprevistos.
•   Entorno de pre-producción para el
    cliente.
Nuestro workflow
•   Desarrollo en ramas de largo recorrido
    (master/staging).

•   Rama master para entorno en producción.

•   Rama staging para pre-producción.

•   Ramas puntuales:

    o   features: nuevas funcionalidades.

    o   fixes: corrección de bugs.
Diferencias

•   Nuevas features nacen de master.

•   Features finalizadas se pasan a staging
    para que las pruebe el cliente.

•   Fixes vuelven a master y staging.

•   Nunca commits directos en staging.

•   Staging totalmente desechable.
Buenas prácticas
git stash

•   Almacena los cambios actuales en
    una pila independiente.
•   Te deja en el último commit.
•   Puede recuperarse más tarde.
Cuando lo
descubres...
Cuando lo
controlas...
Y para lo que lo
acabas usando...
Es útil

•   Cuando tenemos algo a medias y
    hay que hacer un cambio urgente.
•   Cuando no estamos trabajando en
    la rama adecuada.
•   Para desechar rápido las últimas
    modificaciones.
Organiza tu trabajo
•   Crea siempre ramas puntuales para hacer
    commits ¡Son gratis!
•   Haz commits pequeños que abarquen lógica
    común ¡También son gratis!
•   Configura los merges con --no-ff,
    aportan estructura, +info y salud.
Evitarás
cosas como...
git blame

•   Indica el último autor de un
    cambio en una línea de código.


•   Permite culpar a otro cuando el
    código apesta.
Cuando alguien
va a hacer un
 git blame...
...si el autor es un
    compañero...
...pero la mayoría de
    las veces...
git rebase


También permite mezclar ramas,
 pero reescribe la historia.
Mola pero...
el problema de rebase

No hagas rebase a commits que ya
       estén distribuidos.
 Podríamos crear una paradoja
    espacio-temporal y que el
  universo se plegara sobre sí
             mismo.
Haz caso a Doc,
  sabe mucho
  del tiempo
pull y push


•   Configura el rebase por defectode
    pull (por una historia más
    bonita).


•   Haz pull siempre antes de push.
Evitarás
cosas como...
Y siempre puedes
   cagarla...
Cuando todo se rompe


   •   git reflog: rebusca
   •   git reset: reinicia
   •   git revert: deshaz
Seguramente
tenga solución
¡GRACIAS!
¿Preguntas?
http://goo.gl/49vdf
          (Presentación)




https://twitter.com/maguilag




 https://github.com/rsierra

More Related Content

Viewers also liked

Estimating cellphone signal intensity & identifying
Estimating cellphone signal intensity & identifyingEstimating cellphone signal intensity & identifying
Estimating cellphone signal intensity & identifyingeSAT Publishing House
 
Experimental investigation on exhaust emissions with ceramic coated diesel en...
Experimental investigation on exhaust emissions with ceramic coated diesel en...Experimental investigation on exhaust emissions with ceramic coated diesel en...
Experimental investigation on exhaust emissions with ceramic coated diesel en...eSAT Publishing House
 
Hybrid optical switching in optical code division
Hybrid optical switching in optical code divisionHybrid optical switching in optical code division
Hybrid optical switching in optical code divisioneSAT Publishing House
 
Ensuring distributed accountability for data sharing in the cloud
Ensuring distributed accountability for data sharing in the cloudEnsuring distributed accountability for data sharing in the cloud
Ensuring distributed accountability for data sharing in the cloudeSAT Publishing House
 
Geometric efficient matching algorithm for firewalls
Geometric efficient matching algorithm for firewallsGeometric efficient matching algorithm for firewalls
Geometric efficient matching algorithm for firewallseSAT Publishing House
 
Kadam. Комплексный сервис интернет-рекламы
Kadam. Комплексный сервис интернет-рекламыKadam. Комплексный сервис интернет-рекламы
Kadam. Комплексный сервис интернет-рекламыService Kadam
 
Fourth order improved finite difference approach to pure bending analysis o...
Fourth   order improved finite difference approach to pure bending analysis o...Fourth   order improved finite difference approach to pure bending analysis o...
Fourth order improved finite difference approach to pure bending analysis o...eSAT Publishing House
 
Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...
Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...
Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...eSAT Publishing House
 
Feasibility study of mtbe physical adsorption from polluted water on gac, pac...
Feasibility study of mtbe physical adsorption from polluted water on gac, pac...Feasibility study of mtbe physical adsorption from polluted water on gac, pac...
Feasibility study of mtbe physical adsorption from polluted water on gac, pac...eSAT Publishing House
 
Heterogeneous data transfer and loader
Heterogeneous data transfer and loaderHeterogeneous data transfer and loader
Heterogeneous data transfer and loadereSAT Publishing House
 
Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...
Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...
Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...eSAT Publishing House
 
Humidity intrusion effects on the properties of sound
Humidity intrusion effects on the properties of soundHumidity intrusion effects on the properties of sound
Humidity intrusion effects on the properties of soundeSAT Publishing House
 
Environmental impact due to the doubling of green
Environmental impact due to the doubling of greenEnvironmental impact due to the doubling of green
Environmental impact due to the doubling of greeneSAT Publishing House
 
Hydrologic modeling of detention pond
Hydrologic modeling of detention pondHydrologic modeling of detention pond
Hydrologic modeling of detention pondeSAT Publishing House
 
Experimental study of behaviour of poultry feather fiber a reinforcing mate...
Experimental study of behaviour of poultry feather fiber   a reinforcing mate...Experimental study of behaviour of poultry feather fiber   a reinforcing mate...
Experimental study of behaviour of poultry feather fiber a reinforcing mate...eSAT Publishing House
 
Experimental study on effect of slot level on local scour around bridge pier
Experimental study on effect of slot level on local scour around bridge pierExperimental study on effect of slot level on local scour around bridge pier
Experimental study on effect of slot level on local scour around bridge piereSAT Publishing House
 
Experimental investigation on behavior of bamboo reinforced concrete member
Experimental investigation on behavior of bamboo reinforced concrete memberExperimental investigation on behavior of bamboo reinforced concrete member
Experimental investigation on behavior of bamboo reinforced concrete membereSAT Publishing House
 

Viewers also liked (17)

Estimating cellphone signal intensity & identifying
Estimating cellphone signal intensity & identifyingEstimating cellphone signal intensity & identifying
Estimating cellphone signal intensity & identifying
 
Experimental investigation on exhaust emissions with ceramic coated diesel en...
Experimental investigation on exhaust emissions with ceramic coated diesel en...Experimental investigation on exhaust emissions with ceramic coated diesel en...
Experimental investigation on exhaust emissions with ceramic coated diesel en...
 
Hybrid optical switching in optical code division
Hybrid optical switching in optical code divisionHybrid optical switching in optical code division
Hybrid optical switching in optical code division
 
Ensuring distributed accountability for data sharing in the cloud
Ensuring distributed accountability for data sharing in the cloudEnsuring distributed accountability for data sharing in the cloud
Ensuring distributed accountability for data sharing in the cloud
 
Geometric efficient matching algorithm for firewalls
Geometric efficient matching algorithm for firewallsGeometric efficient matching algorithm for firewalls
Geometric efficient matching algorithm for firewalls
 
Kadam. Комплексный сервис интернет-рекламы
Kadam. Комплексный сервис интернет-рекламыKadam. Комплексный сервис интернет-рекламы
Kadam. Комплексный сервис интернет-рекламы
 
Fourth order improved finite difference approach to pure bending analysis o...
Fourth   order improved finite difference approach to pure bending analysis o...Fourth   order improved finite difference approach to pure bending analysis o...
Fourth order improved finite difference approach to pure bending analysis o...
 
Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...
Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...
Estimation and design of mc ds-cdma for hybrid concatenated coding in high sp...
 
Feasibility study of mtbe physical adsorption from polluted water on gac, pac...
Feasibility study of mtbe physical adsorption from polluted water on gac, pac...Feasibility study of mtbe physical adsorption from polluted water on gac, pac...
Feasibility study of mtbe physical adsorption from polluted water on gac, pac...
 
Heterogeneous data transfer and loader
Heterogeneous data transfer and loaderHeterogeneous data transfer and loader
Heterogeneous data transfer and loader
 
Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...
Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...
Experimental studies on pressure drop in a sinusoidal plate heat exchanger ef...
 
Humidity intrusion effects on the properties of sound
Humidity intrusion effects on the properties of soundHumidity intrusion effects on the properties of sound
Humidity intrusion effects on the properties of sound
 
Environmental impact due to the doubling of green
Environmental impact due to the doubling of greenEnvironmental impact due to the doubling of green
Environmental impact due to the doubling of green
 
Hydrologic modeling of detention pond
Hydrologic modeling of detention pondHydrologic modeling of detention pond
Hydrologic modeling of detention pond
 
Experimental study of behaviour of poultry feather fiber a reinforcing mate...
Experimental study of behaviour of poultry feather fiber   a reinforcing mate...Experimental study of behaviour of poultry feather fiber   a reinforcing mate...
Experimental study of behaviour of poultry feather fiber a reinforcing mate...
 
Experimental study on effect of slot level on local scour around bridge pier
Experimental study on effect of slot level on local scour around bridge pierExperimental study on effect of slot level on local scour around bridge pier
Experimental study on effect of slot level on local scour around bridge pier
 
Experimental investigation on behavior of bamboo reinforced concrete member
Experimental investigation on behavior of bamboo reinforced concrete memberExperimental investigation on behavior of bamboo reinforced concrete member
Experimental investigation on behavior of bamboo reinforced concrete member
 

Similar to Git with gifs

U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdfEric Quiñones
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en españolRamón Glez
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?Gerónimo Di Pierro
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque prácticoPatxi Gortázar
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GITmaxfontana90
 
Manual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfManual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfCarlosJurado61
 
Serling dev team, development process
Serling dev team, development processSerling dev team, development process
Serling dev team, development processDomingo Suarez Torres
 
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADTodo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADDIEGOALBERTOENRIQUEZ4
 
Técnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesTécnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesAngel Armenta
 
05 intro-git-github-heroku-v4
05 intro-git-github-heroku-v405 intro-git-github-heroku-v4
05 intro-git-github-heroku-v4fyomaira
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendLeonidas Esteban González
 
Estrategias branching: trabajando con git y personas
 Estrategias branching: trabajando con git y personas Estrategias branching: trabajando con git y personas
Estrategias branching: trabajando con git y personasJesús López de la Cruz
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GITKeopx
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantesnscoder_mad
 

Similar to Git with gifs (20)

Un modelo exitoso para git
Un modelo exitoso para gitUn modelo exitoso para git
Un modelo exitoso para git
 
Intro a GIT
Intro a GITIntro a GIT
Intro a GIT
 
U1 Control de versiones.pdf
U1 Control de versiones.pdfU1 Control de versiones.pdf
U1 Control de versiones.pdf
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Git: un enfoque práctico
Git: un enfoque prácticoGit: un enfoque práctico
Git: un enfoque práctico
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Manual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdfManual para usuarios de Git @patxiredes.pdf
Manual para usuarios de Git @patxiredes.pdf
 
Serling dev team, development process
Serling dev team, development processSerling dev team, development process
Serling dev team, development process
 
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDADTodo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
Todo sobre el mundo del GIT-INTEGRACION-CONCEPTOS-USABILIDAD
 
Técnicas avanzadas de control de versiones
Técnicas avanzadas de control de versionesTécnicas avanzadas de control de versiones
Técnicas avanzadas de control de versiones
 
05 intro-git-github-heroku-v4
05 intro-git-github-heroku-v405 intro-git-github-heroku-v4
05 intro-git-github-heroku-v4
 
Uso de git: un caso real
Uso de git: un caso realUso de git: un caso real
Uso de git: un caso real
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontend
 
Estrategias branching: trabajando con git y personas
 Estrategias branching: trabajando con git y personas Estrategias branching: trabajando con git y personas
Estrategias branching: trabajando con git y personas
 
Tallerintroducciongit
TallerintroducciongitTallerintroducciongit
Tallerintroducciongit
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
Git para-principiantes
Git para-principiantesGit para-principiantes
Git para-principiantes
 

More from betabeers

IONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataformaIONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataformabetabeers
 
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)betabeers
 
Blockchain: la revolución industrial de internet - Oscar Lage
Blockchain: la revolución industrial de internet - Oscar LageBlockchain: la revolución industrial de internet - Oscar Lage
Blockchain: la revolución industrial de internet - Oscar Lagebetabeers
 
Cloud Learning: la formación del siglo XXI - Mónica Mediavilla
Cloud Learning: la formación del siglo XXI - Mónica MediavillaCloud Learning: la formación del siglo XXI - Mónica Mediavilla
Cloud Learning: la formación del siglo XXI - Mónica Mediavillabetabeers
 
Desarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo QuilónDesarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo Quilónbetabeers
 
La línea recta hacia el éxito - Jon Torrado - Betabeers Bilbao
La línea recta hacia el éxito -  Jon Torrado - Betabeers BilbaoLa línea recta hacia el éxito -  Jon Torrado - Betabeers Bilbao
La línea recta hacia el éxito - Jon Torrado - Betabeers Bilbaobetabeers
 
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu appbetabeers
 
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)Dev ops.continuous delivery - Ibon Landa (Plain Concepts)
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)betabeers
 
Introducción a scrum - Rodrigo Corral (Plain Concepts)
Introducción a scrum - Rodrigo Corral (Plain Concepts)Introducción a scrum - Rodrigo Corral (Plain Concepts)
Introducción a scrum - Rodrigo Corral (Plain Concepts)betabeers
 
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)betabeers
 
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)betabeers
 
Elemental, querido Watson - Caso de Uso
Elemental, querido Watson - Caso de UsoElemental, querido Watson - Caso de Uso
Elemental, querido Watson - Caso de Usobetabeers
 
Seguridad en tu startup
Seguridad en tu startupSeguridad en tu startup
Seguridad en tu startupbetabeers
 
Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.
Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.
Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.betabeers
 
Buenas prácticas para la optimización web
Buenas prácticas para la optimización webBuenas prácticas para la optimización web
Buenas prácticas para la optimización webbetabeers
 
La magia de Scrum
La magia de ScrumLa magia de Scrum
La magia de Scrumbetabeers
 
Programador++ por @wottam
Programador++ por @wottamProgramador++ por @wottam
Programador++ por @wottambetabeers
 
RaspberryPi: Tu dispositivo para IoT
RaspberryPi: Tu dispositivo para IoTRaspberryPi: Tu dispositivo para IoT
RaspberryPi: Tu dispositivo para IoTbetabeers
 
Introducción al Big Data - Xabier Tranche - VIII Betabeers Bilbao 27/02/2015
 Introducción al Big Data - Xabier Tranche  - VIII Betabeers Bilbao 27/02/2015 Introducción al Big Data - Xabier Tranche  - VIII Betabeers Bilbao 27/02/2015
Introducción al Big Data - Xabier Tranche - VIII Betabeers Bilbao 27/02/2015betabeers
 
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015betabeers
 

More from betabeers (20)

IONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataformaIONIC, el framework para crear aplicaciones híbridas multiplataforma
IONIC, el framework para crear aplicaciones híbridas multiplataforma
 
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)
Servicios de Gestión de Datos en la Nube - Jaime Balañá (NetApp)
 
Blockchain: la revolución industrial de internet - Oscar Lage
Blockchain: la revolución industrial de internet - Oscar LageBlockchain: la revolución industrial de internet - Oscar Lage
Blockchain: la revolución industrial de internet - Oscar Lage
 
Cloud Learning: la formación del siglo XXI - Mónica Mediavilla
Cloud Learning: la formación del siglo XXI - Mónica MediavillaCloud Learning: la formación del siglo XXI - Mónica Mediavilla
Cloud Learning: la formación del siglo XXI - Mónica Mediavilla
 
Desarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo QuilónDesarrollo web en Nodejs con Pillars por Chelo Quilón
Desarrollo web en Nodejs con Pillars por Chelo Quilón
 
La línea recta hacia el éxito - Jon Torrado - Betabeers Bilbao
La línea recta hacia el éxito -  Jon Torrado - Betabeers BilbaoLa línea recta hacia el éxito -  Jon Torrado - Betabeers Bilbao
La línea recta hacia el éxito - Jon Torrado - Betabeers Bilbao
 
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
 
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)Dev ops.continuous delivery - Ibon Landa (Plain Concepts)
Dev ops.continuous delivery - Ibon Landa (Plain Concepts)
 
Introducción a scrum - Rodrigo Corral (Plain Concepts)
Introducción a scrum - Rodrigo Corral (Plain Concepts)Introducción a scrum - Rodrigo Corral (Plain Concepts)
Introducción a scrum - Rodrigo Corral (Plain Concepts)
 
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)
Gestión de proyectos y consorcios internacionales - Iñigo Cañadas (GFI)
 
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)
Software de gestión Open Source - Odoo - Bakartxo Aristegi (Aizean)
 
Elemental, querido Watson - Caso de Uso
Elemental, querido Watson - Caso de UsoElemental, querido Watson - Caso de Uso
Elemental, querido Watson - Caso de Uso
 
Seguridad en tu startup
Seguridad en tu startupSeguridad en tu startup
Seguridad en tu startup
 
Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.
Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.
Spark Java: Aplicaciones web ligeras y rápidas con Java, por Fran Paredes.
 
Buenas prácticas para la optimización web
Buenas prácticas para la optimización webBuenas prácticas para la optimización web
Buenas prácticas para la optimización web
 
La magia de Scrum
La magia de ScrumLa magia de Scrum
La magia de Scrum
 
Programador++ por @wottam
Programador++ por @wottamProgramador++ por @wottam
Programador++ por @wottam
 
RaspberryPi: Tu dispositivo para IoT
RaspberryPi: Tu dispositivo para IoTRaspberryPi: Tu dispositivo para IoT
RaspberryPi: Tu dispositivo para IoT
 
Introducción al Big Data - Xabier Tranche - VIII Betabeers Bilbao 27/02/2015
 Introducción al Big Data - Xabier Tranche  - VIII Betabeers Bilbao 27/02/2015 Introducción al Big Data - Xabier Tranche  - VIII Betabeers Bilbao 27/02/2015
Introducción al Big Data - Xabier Tranche - VIII Betabeers Bilbao 27/02/2015
 
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015
PAYTPV Plataforma Integral de Cobros - VIII Betabeers Bilbao 27/02/2015
 

Recently uploaded

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 

Recently uploaded (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 

Git with gifs

  • 2. Sistemas de control de versiones Gestionan los cambios realizados sobre diversos elementos a lo largo del tiempo.
  • 3. Git • Diseñado por Linus Torvalds para Linux. • Git: distribuido, rápido y eficiente.
  • 4.
  • 5. Conceptos básicos • Branches: ramas del repositorio. • Commits: guardado de cambios. • Merge: mezcla de los commits de distintas ramas. • Push/Pull: sincronización con el repositorio remoto.
  • 6. No tenemos nada en contra de SVN pero...
  • 7. ...cuando un nuevo empleado dice que prefiere usar SVN antes que Git...
  • 8.
  • 9. Workflow ideal • Desarrollo en ramas de largo recorrido (master/develop). • Rama master para versiones estables. • Ramas puntuales: o features: nuevas funcionalidades. o releases: para congelar una versión. o fixes: corrección de bugs.
  • 10. Desarrollo • Nunca commits directos sobre master. • Develop estable => merge a master.
  • 11. Features • Nuevas features siempre nacen de develop. • Features finalizadas siempre vuelven a develop y se borran.
  • 12. Releases • Nuevas releases siempre nacen de develop. • Releases finalizadassiempre vuelven a master y develop. • Se congela la release en un tag.
  • 13. Fixes • Fixes siempre nacen de master. • Fixes vuelven amaster y develop. • Se genera unanueva versión.
  • 15.
  • 16. ...pero no siempre es aplicable.
  • 17. Una mañana cualquiera en Simplelógica...
  • 18.
  • 20. Muchas veces nos gustaría...
  • 21.
  • 22. Pero es nuestro trabajo...
  • 23. Con clientes • Periodo de desarrollo menos prolongado. • Cambios imprevistos. • Entorno de pre-producción para el cliente.
  • 24. Nuestro workflow • Desarrollo en ramas de largo recorrido (master/staging). • Rama master para entorno en producción. • Rama staging para pre-producción. • Ramas puntuales: o features: nuevas funcionalidades. o fixes: corrección de bugs.
  • 25. Diferencias • Nuevas features nacen de master. • Features finalizadas se pasan a staging para que las pruebe el cliente. • Fixes vuelven a master y staging. • Nunca commits directos en staging. • Staging totalmente desechable.
  • 26.
  • 28. git stash • Almacena los cambios actuales en una pila independiente. • Te deja en el último commit. • Puede recuperarse más tarde.
  • 30.
  • 32.
  • 33. Y para lo que lo acabas usando...
  • 34.
  • 35. Es útil • Cuando tenemos algo a medias y hay que hacer un cambio urgente. • Cuando no estamos trabajando en la rama adecuada. • Para desechar rápido las últimas modificaciones.
  • 36. Organiza tu trabajo • Crea siempre ramas puntuales para hacer commits ¡Son gratis! • Haz commits pequeños que abarquen lógica común ¡También son gratis! • Configura los merges con --no-ff, aportan estructura, +info y salud.
  • 38.
  • 39. git blame • Indica el último autor de un cambio en una línea de código. • Permite culpar a otro cuando el código apesta.
  • 40. Cuando alguien va a hacer un git blame...
  • 41.
  • 42. ...si el autor es un compañero...
  • 43.
  • 44. ...pero la mayoría de las veces...
  • 45.
  • 46. git rebase También permite mezclar ramas, pero reescribe la historia.
  • 47.
  • 49.
  • 50. el problema de rebase No hagas rebase a commits que ya estén distribuidos. Podríamos crear una paradoja espacio-temporal y que el universo se plegara sobre sí mismo.
  • 51. Haz caso a Doc, sabe mucho del tiempo
  • 52.
  • 53. pull y push • Configura el rebase por defectode pull (por una historia más bonita). • Haz pull siempre antes de push.
  • 55.
  • 56. Y siempre puedes cagarla...
  • 57.
  • 58. Cuando todo se rompe • git reflog: rebusca • git reset: reinicia • git revert: deshaz
  • 59.
  • 61.
  • 64. http://goo.gl/49vdf (Presentación) https://twitter.com/maguilag https://github.com/rsierra