Git Basics Workshop Summer of Tech 2010

63
Code Management: Git

description

Presentation about version control and Git. Workshop exercises at http://github.com/kuahyeow/git-workshop

Transcript of Git Basics Workshop Summer of Tech 2010

Page 1: Git Basics Workshop Summer of Tech 2010

Code Management:

Git

Page 2: Git Basics Workshop Summer of Tech 2010

Thong Kuah<Thong.Kuah @ gmail.com>

Page 3: Git Basics Workshop Summer of Tech 2010

A Coders Carolpresentspresents

Page 4: Git Basics Workshop Summer of Tech 2010

Crash Dummy Coding

http://www.flickr.com/photos/bugbbq/3853099883/sizes/l/

Page 5: Git Basics Workshop Summer of Tech 2010

New version

Page 6: Git Basics Workshop Summer of Tech 2010
Page 7: Git Basics Workshop Summer of Tech 2010
Page 8: Git Basics Workshop Summer of Tech 2010
Page 9: Git Basics Workshop Summer of Tech 2010
Page 10: Git Basics Workshop Summer of Tech 2010

Here's another change

And another change

Page 11: Git Basics Workshop Summer of Tech 2010

I prefer the first one

Page 12: Git Basics Workshop Summer of Tech 2010

http://www.flickr.com/photos/jemimagibbons/3973603289/

Page 13: Git Basics Workshop Summer of Tech 2010

Hey! Success!

http://www.flickr.com/photos/brajeshwar/378641553/

Page 14: Git Basics Workshop Summer of Tech 2010

Teamwork ?

http://www.flickr.com/photos/ivanwalsh/3924222303/

Page 15: Git Basics Workshop Summer of Tech 2010

cat_generator.sh

Page 16: Git Basics Workshop Summer of Tech 2010

That's mine! Mine!

http://www.flickr.com/photos/9588236@N02/1454642584/sizes/l/

Page 17: Git Basics Workshop Summer of Tech 2010

I know!

cat_generator.bakcat_generator.backup_filecat_gen.do_not_deletecat_generator.alice.1cat_generator.bob.2

Page 18: Git Basics Workshop Summer of Tech 2010

N^2

http://www.flickr.com/photos/seeminglee/2065927225/

Page 19: Git Basics Workshop Summer of Tech 2010

Marty McFly

http://commons.wikimedia.org/wiki/File:BTTFTimelines.png

Page 20: Git Basics Workshop Summer of Tech 2010

http://www.flickr.com/photos/flying_cloud/2667225198/sizes/l/

Page 21: Git Basics Workshop Summer of Tech 2010

http://www.flickr.com/photos/torley/414120961/sizes/o/

Page 22: Git Basics Workshop Summer of Tech 2010

Fix it.

http://commons.wikimedia.org/wiki/File:Software_spanner.png

Page 23: Git Basics Workshop Summer of Tech 2010

Who dunnit?http://www.flickr.com/photos/editor/3577065653/

Page 24: Git Basics Workshop Summer of Tech 2010

Where's the problem?

http://www.flickr.com/photos/silvery/2414538926/

Page 25: Git Basics Workshop Summer of Tech 2010

Re-occurences

Page 26: Git Basics Workshop Summer of Tech 2010

http://www.flickr.com/photos/tveskov/3387394098/sizes/o/

Page 27: Git Basics Workshop Summer of Tech 2010

So, what do we need ?

Page 28: Git Basics Workshop Summer of Tech 2010

http://www.flickr.com/photos/mattwright/1787856/sizes/l/

Page 29: Git Basics Workshop Summer of Tech 2010

http://www.flickr.com/photos/clintjcl/2784231777/sizes/o/

Page 30: Git Basics Workshop Summer of Tech 2010

http://commons.wikimedia.org/wiki/File:Arrows-orphan.svg

Page 31: Git Basics Workshop Summer of Tech 2010

Version Control

Page 32: Git Basics Workshop Summer of Tech 2010

Version Control

●Storage●Keeps multiple versions

●Handles changes from multiple sources

Page 33: Git Basics Workshop Summer of Tech 2010

Experiments

Deploy to production

Run multiple versions

Work with others

http://en.wikipedia.org/wiki/File:Revision_controlled_project_visualization-2010-24-02.svg

Page 34: Git Basics Workshop Summer of Tech 2010

Version Control

Basics

Page 35: Git Basics Workshop Summer of Tech 2010

Basics

●You get code●You change code●You share your changes

Page 36: Git Basics Workshop Summer of Tech 2010

Basics

●You checkout●You change code●You commit

Page 37: Git Basics Workshop Summer of Tech 2010

Basics

●You checkout

Page 38: Git Basics Workshop Summer of Tech 2010

Checkout

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 39: Git Basics Workshop Summer of Tech 2010

Basics

●You checkout●You change code

Page 40: Git Basics Workshop Summer of Tech 2010

Change code

...change file... http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 41: Git Basics Workshop Summer of Tech 2010

Basics

●You checkout●You change code●You commit

Page 42: Git Basics Workshop Summer of Tech 2010

Commit

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 43: Git Basics Workshop Summer of Tech 2010

Again?

Page 44: Git Basics Workshop Summer of Tech 2010

Checkout

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 45: Git Basics Workshop Summer of Tech 2010

Change code

...change file... http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 46: Git Basics Workshop Summer of Tech 2010

Commit

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 47: Git Basics Workshop Summer of Tech 2010

Every version is recorded

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 48: Git Basics Workshop Summer of Tech 2010

Every change is recorded

http://betterexplained.com/articles/a-visual-guide-to-version-control/

Page 49: Git Basics Workshop Summer of Tech 2010

Basics (II)

●Others get your code●Others change code●You get new version

Page 50: Git Basics Workshop Summer of Tech 2010

Basics (II)

●Others checkout●Others change code●You update

Page 51: Git Basics Workshop Summer of Tech 2010

Basics (II)

●Others checkout●Others change code●You update●And around it goes

Page 52: Git Basics Workshop Summer of Tech 2010

Sharing is good

http://www.flickr.com/photos/ryanr/142455033/sizes/o/

Page 53: Git Basics Workshop Summer of Tech 2010

The full picture

Tools&

Practices

Page 54: Git Basics Workshop Summer of Tech 2010

Tools

●SVN●Git●Mercurial●etc...

Page 55: Git Basics Workshop Summer of Tech 2010

Practice is up to you & your team

http://www.flickr.com/photos/st3f4n/3752994778/ http://www.flickr.com/photos/ahnmyrrh/3633346069/

Page 56: Git Basics Workshop Summer of Tech 2010

Summary

●Version Control is a must●Use best practice●Use good tools●Version control basics

Page 57: Git Basics Workshop Summer of Tech 2010

Further Information

● http://gitref.org/index.html● http://progit.org/● SVN Red Book● http://betterexplained.com/articles/a-visual-

guide-to-version-control/● http://www.swc.scipy.org/lec/version.html

Page 58: Git Basics Workshop Summer of Tech 2010

Credits, Attribution● http://www.flickr.com/photos/charlieferrari/49323751/sizes/o/

● http://www.flickr.com/photos/nickwheeleroz/2475011402/sizes/l/

● http://www.flickr.com/photos/herzogbr/2123789106/sizes/l/

● http://www.flickr.com/photos/7506006@N07/513417996/in/set-72157600264508078/

● http://www.flickr.com/photos/7506006@N07/513453021/

● http://www.flickr.com/photos/mattwright/1787856/sizes/l/

● http://www.flickr.com/photos/ryanr/142455033/sizes/o/

● http://www.flickr.com/photos/rachelrusinski/533767098/sizes/o/

● http://commons.wikimedia.org

● http://www.flickr.com/photos/missmirr/529688823/sizes/o/

Page 59: Git Basics Workshop Summer of Tech 2010

Questions?

http://www.flickr.com/photos/gattomimmo/318700028/sizes/o/

Page 60: Git Basics Workshop Summer of Tech 2010

Git

Page 61: Git Basics Workshop Summer of Tech 2010

Git

http://progit.org/book/ch1-3.html

Page 62: Git Basics Workshop Summer of Tech 2010

Workshop timeAsk lots of questions

Page 63: Git Basics Workshop Summer of Tech 2010

http://github.com/kuahyeow/git-

workshop