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.

224884ff0b79e700e516e24fbcae6423?s=128

Nathan Kleyn

October 29, 2014
Tweet

Transcript

  1. 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. 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. 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. 4.

    L e t ’ s t a l k a

    b o u t b r a n c h i n g
  5. 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. 7.

    T h i s i s w h e r

    e y o u r w o r k g o e s .
  7. 8.

    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. 10.

    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. 11.

    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. 12.

    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. 14.

    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. 15.

    M a s t e r mu s t a

    l w a y s b e g r e e n .
  13. 16.

    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. 17.
  15. 18.

    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 .
  16. 19.

    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 ’ .
  17. 20.

    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
  18. 21.

    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 .
  19. 22.

    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 .
  20. 23.

    3 . Wo r k o n t h e

    t a s k s .
  21. 24.

    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 .
  22. 25.

    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
  23. 26.

    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 .
  24. 27.

    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 .
  25. 28.

    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
  26. 29.

    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 .
  27. 30.

    2 . P u s h t h e ma

    s t e r b r a n c h .
  28. 31.

    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 .
  29. 32.

    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 .
  30. 33.

    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 .
  31. 34.

    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
  32. 35.

    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 .
  33. 36.

    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 .
  34. 38.

    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 .
  35. 39.

    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 .
  36. 40.

    6 . P u s h t h e r

    e l e a s e b r a n c h .
  37. 41.

    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 .
  38. 42.

    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
  39. 44.

    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
  40. 46.

    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 .
  41. 48.

    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
  42. 49.

    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 )
  43. 50.

    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 .
  44. 51.
  45. 52.

    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 :
  46. 53.

    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 )
  47. 54.

    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 .
  48. 55.

    Q u i c k r e c a p

    ? A l l t o g e t h e r n o w !
  49. 56.

    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
  50. 57.

    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
  51. 58.

    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
  52. 59.

    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
  53. 60.