Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Semantic Versioning With Git

Semantic Versioning With Git

Learn how to meld semantic versioning, and the need for speed and pragmatism in big teams, by looking at a branching structure for use in Git.

Nathan Kleyn

October 29, 2014
Tweet

More Decks by Nathan Kleyn

Other Decks in Programming

Transcript

  1. S e ma n t i c V e r

    s i o n i n g w i t h G i t @ n a t h a n k l e y n
  2. B r a n c h i n g S

    t o r y p r o c e s s R e l e a s e p r o c e s s U n p l a n n e d r e l e a s e p r o c e s s G i t f u R e c a p 6 t o p i c s
  3. T a s k S t o r y M

    a s t e r R e l e a s e R e l e a s e S t o r y / T a s k R e l e a s e c o m m i t R e l e a s e c o m m i t
  4. L e t ’ s t a l k a

    b o u t b r a n c h i n g
  5. T a s k b r a n c h

    e s S t o r y b r a n c h e s M a s t e r R e l e a s e b r a n c h e s 4 t y p e s o f b r a n c h e s
  6. T h i s i s w h e r

    e y o u r w o r k g o e s .
  7. C r e a t e o n e t

    a s k b r a n c h p e r s u b t a s k .
  8. T h i s i s w h e r

    e y o u r me r g e y o u r t a s k b r a n c h e s .
  9. Y o u mu s t k e e p

    t h i s u p t o d a t e w i t h ma s t e r . S e r i o u s l y , p e o p l e ( r e a d : y o u ) m a y d i e i f y o u d o n ’ t .
  10. I f t h e s t o r y

    i s t i n y , w o r k d i r e c t l y i n t h i s b r a n c h . ( A n d I m e a n t i n y ! )
  11. T h i s i s t h e i

    n t e g r a t i o n p o i n t .
  12. M a s t e r mu s t a

    l w a y s b e g r e e n .
  13. I f ma s t e r g o e

    s r e d , r e v e r t t h e c h a n g e i mme d i a t e l y . M a k e a b r a n c h , r e v e r t t h e r e v e r t , fi x i t , a n d g e t i t m e r g e d a g a i n .
  14. C r e a t e o n e p

    e r r e l e a s e s e r i e s , e g . v 1 . 0 . x , v 2 . 1 . x .
  15. R e l e a s e b r a

    n c h n a me s a l w a y s e n d i n a n ‘ x ’ .
  16. T i m e t o s p e a

    k a b o u t t h e s t o r y p r o c e s s
  17. 1 . C r e a t e a s

    t o r y b r a n c h f o r t h e s t o r y .
  18. 2 . C r e a t e a t

    a s k b r a n c h f o r e a c h s u b t a s k .
  19. 3 . Wo r k o n t h e

    t a s k s .
  20. 4 . R a i s e p u l

    l r e q s f o r e a c h t a s k i n t o t h e s t o r y b r a n c h .
  21. 5 . G e t t h e m a

    l l me r g e d . M e r g e i t . M e r g e i t . M e
  22. 6 . R a i s e a p u

    l l r e q t o ma s t e r f o r t h e s t o r y b r a n c h .
  23. N o b e e r f o r y

    o u i f y o u 7 . G e t i t Q A t e s t e d a n d me r g e d .
  24. N o w , o n t o t h

    e t h e r e l e a s e p r o c e s s
  25. 1 . C r e a t e a r

    e l e a s e c o mmi t i n ma s t e r .
  26. 2 . P u s h t h e ma

    s t e r b r a n c h .
  27. 3 . C r e a t e t h

    e r e l e a s e b r a n c h v X . Y . x , e g . v 1 . 0 . x .
  28. 4 . T a g t h e r e

    l e a s e c o mmi t v X . Y . Z , e g . 1 . 0 . 0 .
  29. 5 . P u s h t h e r

    e l e a s e b r a n c h a n d t h e r e l e a s e t a g .
  30. F i n a l l y , o n

    t o u n p l a n n e d r e l e a s e s
  31. 1 . C r e a t e a b

    r a n c h f r o m t h e r e l e a s e b r a n c h . F o l l o w t h e u s u a l t a s k / s t o r y p r o c e s s f o r t h i s b r a n c h .
  32. 2 . F i x a n d r a

    i s e a p u l l r e q a g a i n s t t h e r e l e a s e b r a n c h .
  33. 4 . C r e a t e a r

    e l e a s e c o mmi t i n t h e r e l e a s e b r a n c h .
  34. 5 . T a g t h e r e

    l e a s e c o mmi t v X . Y . Z , e g . v 1 . 0 . 1 .
  35. 6 . P u s h t h e r

    e l e a s e b r a n c h .
  36. 7 . R a i s e a p u

    l l r e q f o r t h e r e l e a s e b r a n c h t o ma s t e r .
  37. 8 . G e t i t me r g

    e d . P l e a s e c o u l d y o u me r H u r r y u p . P l e a s e me r
  38. Y o u c a n t a g w

    i t h : g i t t a g v X . Y . Z D o n ’ t f o r g e t t o p u s h t h e t a g a f t e r y o u ’ r e d o n e w i t h g i t p u s h v X . Y . Z
  39. U c a n h a z b r a

    n c h : g i t c h e c k o u t - b v X . Y . x D o n ’ t d o t h i s u n t i l t h e r e l e a s e c o m m i t i s c r e a t e d . T h e i d e a i s t h a t m a s t e r a n d t h e r e l e a s e b r a n c h s h o u l d b e t h e s a m e .
  40. C o w a b u n g a :

    g i t c o mmi t - - a l l o w - e mp t y
  41. T h i s a l l o w s

    y o u t o c r e a t e a n e mp t y c o mmi t . ( g o fi g u r e )
  42. T h i s ma k e s i t

    e a s y t o s e e w h e r e r e l e a s e s h a p p e n e d .
  43. T h e me s s a g e s

    h o u l d f o l l o w a f o r ma t :
  44. R e l e a s e v X .

    Y . Z ( h t t p s : / / t i c k e t u r l ) [ c i s k i p ] ( s o w e d o n ’ t b u i l d i t , p u t t h i s o n a n e w l i n e )
  45. T h i s c o mmi t i s

    a l w a y s t h e o n e y o u t a g .
  46. Q u i c k r e c a p

    ? A l l t o g e t h e r n o w !
  47. T a s k b r a n c h

    - > S t o r y b r a n c h - > M a s t e r S t o r y
  48. O n ma s t e r - > R

    e l e a s e c o mmi t - > R e l e a s e t a g - > R e l e a s e b r a n c h R e l e a s e
  49. O n r e l e a s e b

    r a n c h - > R e l e a s e c o mmi t - > R e l e a s e t a g - > M a s t e r U n p l a n n e d R e l e a s e
  50. T a s k S t o r y M

    a s t e r R e l e a s e R e l e a s e S t o r y / T a s k R e l e a s e c o m m i t R e l e a s e c o m m i t