SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Kürzlich hochgeladen (10)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

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