Slide 1

Slide 1 text

Github Project Flow Sam-Mauris Yong HeartCode Pte. Ltd. http://heartcode.sg/

Slide 2

Slide 2 text

Hello, I'm Sam Yong I'm a software developer

Slide 3

Slide 3 text

Hello, I'm Sam Yong I'm a software developer + Project Manager

Slide 4

Slide 4 text

Projects can snowball into mess

Slide 5

Slide 5 text

How can I improve my source control flow?

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

$ git init master

Slide 9

Slide 9 text

$ git commit master

Slide 10

Slide 10 text

$ git tag 1.0.0 1.0.0 master

Slide 11

Slide 11 text

$ git branch develop 1.0.0 master develop

Slide 12

Slide 12 text

$ git commit 1.0.0 master develop

Slide 13

Slide 13 text

Github Pull Request 1.0.0 master develop

Slide 14

Slide 14 text

Github Merge Request 1.0.0 master develop

Slide 15

Slide 15 text

$ git tag 1.0.1 1.0.0 master develop 1.0.1

Slide 16

Slide 16 text

Readme updates 1.0.0 master develop 1.0.1

Slide 17

Slide 17 text

readme can just exist on master branch.

Slide 18

Slide 18 text

Subsequent Releases 1.0.0 master develop 1.0.1 1.0.2

Slide 19

Slide 19 text

Neat & Manageable Project Graph

Slide 20

Slide 20 text

● modify code from branches other than master. ● add tags at pull request commits ● always build from tags ● use Semantic Versioning see http://semver.org/

Slide 21

Slide 21 text

● use Semantic Versioning see http://semver.org/

Slide 22

Slide 22 text

● use Semantic Versioning see http://semver.org/ Version numbers Ease of moving forward DEPENDENCY HELL Standard set of rules

Slide 23

Slide 23 text

My Software Public API

Slide 24

Slide 24 text

X . Y . Z Patch version Increment only if backward compatible bug fix is introduced." “

Slide 25

Slide 25 text

X . Y . Z Minor version Increment if new, backwards compatible functionality is introduced to the public API OR if any public API functionality is marked deprecated." “

Slide 26

Slide 26 text

X . Y . Z Major version Increment if any backwards INCOMPATIBLE changes are introduced to the public API." “

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Dependencies can be updated without worry of BC break.

Slide 29

Slide 29 text

Thank You Take a look at all the great Octocats by Github at http://octodex.github.com/ @_mauris [email protected]

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Photo Sources ● http://octodex.github.com/socialite/ - Used as described on http://octodex.github.com/faq.html ● http://pixabay.com/en/puzzle-unfinished-mess-unresolved-55886/ - Public Domain ● http://www.flickr.com/photos/23945877@N05/2623633694/ - Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Generic ● http://www.sxc.hu/photo/828750 - Standard SXC.hu License ● http://octodex.github.com/codercat/ - Used as described on http://octodex.github.com/faq.html