open source collaboration with git and git hub

41
Open Source Collaboration with Git and GitHub Nick Quaranto

Upload: nick-quaranto

Post on 20-May-2015

6.149 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Open Source Collaboration With Git And Git Hub

Open Source Collaboration with Git and GitHub

Nick Quaranto

Page 2: Open Source Collaboration With Git And Git Hub

whoami

• 4th Year Software Engineering Major• From Buffalo

– Snow is awesome– Go Bills

• Rubyist• GitHub Blogger

Page 3: Open Source Collaboration With Git And Git Hub

Version control sucks.

Page 4: Open Source Collaboration With Git And Git Hub

But it doesn’t have to.

Page 5: Open Source Collaboration With Git And Git Hub
Page 6: Open Source Collaboration With Git And Git Hub

History

Page 7: Open Source Collaboration With Git And Git Hub

I'm an egoistical bastard, and I name all my projects after myself.

First Linux, now git.-Linus Torvalds

Page 8: Open Source Collaboration With Git And Git Hub

History

• BitKeeper debacle• Design Goals:

– CVS as an example of what not to do– Distributed workflow– Strong safeguards against corruption– Very high performance

• In development since 2005

Page 9: Open Source Collaboration With Git And Git Hub
Page 10: Open Source Collaboration With Git And Git Hub

Fast

1. Fast

Page 11: Open Source Collaboration With Git And Git Hub

Directed Acyclic Graph

Page 12: Open Source Collaboration With Git And Git Hub

Small

2. Small

Page 13: Open Source Collaboration With Git And Git Hub

Git Internals: Blobs

457aef93ff7ffbb289f7e1384f900679eacf044a

main.c

Page 14: Open Source Collaboration With Git And Git Hub

Git Internals: Trees

Page 15: Open Source Collaboration With Git And Git Hub

Git Internals: Commits

Page 16: Open Source Collaboration With Git And Git Hub

Git Internals: Commits

Page 17: Open Source Collaboration With Git And Git Hub

Local

3. Local

Page 18: Open Source Collaboration With Git And Git Hub

The Staging Area

Page 19: Open Source Collaboration With Git And Git Hub

CHEAP.

4. Cheap Branching

Page 20: Open Source Collaboration With Git And Git Hub

Git Internals: Branches

branchnamebranchname

HEADHEAD

Page 21: Open Source Collaboration With Git And Git Hub

Branching

Page 22: Open Source Collaboration With Git And Git Hub

Distributed

5. Distributed

Page 23: Open Source Collaboration With Git And Git Hub

Git Internals: Remotes

branchnamebranchname

HEADHEAD

remotes/server/nameremotes/server/name

Page 24: Open Source Collaboration With Git And Git Hub

Local vs. Remote

Page 25: Open Source Collaboration With Git And Git Hub

Any Workflow

6. Multiple Workflows

Page 26: Open Source Collaboration With Git And Git Hub

Centralized

Page 27: Open Source Collaboration With Git And Git Hub

Integration Manager

Page 28: Open Source Collaboration With Git And Git Hub

Benevolent Dictator

Page 29: Open Source Collaboration With Git And Git Hub

Failboat.

It’s not perfect.

Page 30: Open Source Collaboration With Git And Git Hub

The downsides

• Complexity• Windows FTL• What's an IDE?• Unreadable source• Needs some maintenance

Page 31: Open Source Collaboration With Git And Git Hub
Page 32: Open Source Collaboration With Git And Git Hub

+

Page 33: Open Source Collaboration With Git And Git Hub

=

Page 34: Open Source Collaboration With Git And Git Hub
Page 35: Open Source Collaboration With Git And Git Hub
Page 36: Open Source Collaboration With Git And Git Hub
Page 37: Open Source Collaboration With Git And Git Hub
Page 38: Open Source Collaboration With Git And Git Hub
Page 39: Open Source Collaboration With Git And Git Hub

How to Contribute

1. Fork a repository at GitHub 2. Clone and connect your local repository 3. Write tests, implement functionality4. Commit your local changes 5. Push your changes to your fork6. Make a pull request7. Profit!!

Page 40: Open Source Collaboration With Git And Git Hub

Demo

Page 41: Open Source Collaboration With Git And Git Hub

git log• Kudos to Scott Chacon who made

– http://git-scm.com– http://whygitisbetterthanx.com

• And to Michael Hartl– for Building the Insoshi Social Network

• Wikipedia too.

[email protected]://litanyagainstfear.com