SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado

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
 

Destacado (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 a 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 a 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
 

Más de 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
 

Más de 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
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (15)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

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