Open Source Collaboration  with Git and GitHub Nick Quaranto
whoami <ul><li>4 th  Year Software Engineering Major </li></ul><ul><li>From Buffalo </li></ul><ul><ul><li>Snow is awesome ...
Version control sucks.
But it doesn’t have to.
 
History
I'm an egoistical bastard, and I name all my projects after myself.  First Linux, now git. -Linus Torvalds
History <ul><li>BitKeeper debacle </li></ul><ul><li>Design Goals: </li></ul><ul><ul><li>CVS as an example of what  not  to...
 
Fast 1. Fast
Directed Acyclic Graph
Small 2. Small
Git Internals: Blobs 457aef93ff7ffbb289f7e1384f900679eacf044a   main.c
Git Internals: Trees
Git Internals: Commits
Git Internals: Commits
Local 3. Local
The Staging Area
CHEAP. 4. Cheap Branching
Git Internals: Branches branchname HEAD
Branching
Distributed 5. Distributed
Git Internals: Remotes branchname HEAD remotes/server/name
Local vs. Remote
Any Workflow 6. Multiple Workflows
Centralized
Integration Manager
Benevolent Dictator
Failboat. It’s not perfect.
The downsides <ul><li>Complexity </li></ul><ul><li>Windows FTL </li></ul><ul><li>What's an IDE? </li></ul><ul><li>Unreadab...
 
+
=
 
 
 
 
 
How to Contribute <ul><li>Fork a repository at GitHub  </li></ul><ul><li>Clone and connect your local repository  </li></u...
Demo
git log <ul><li>Kudos to  Scott Chacon   who made </li></ul><ul><ul><li>http://git-scm.com </li></ul></ul><ul><ul><li>http...
Upcoming SlideShare
Loading in...5
×

Open Source Collaboration With Git And Git Hub

6,209

Published on

Published in: Technology

Open Source Collaboration With Git And Git Hub

  1. 1. Open Source Collaboration with Git and GitHub Nick Quaranto
  2. 2. whoami <ul><li>4 th Year Software Engineering Major </li></ul><ul><li>From Buffalo </li></ul><ul><ul><li>Snow is awesome </li></ul></ul><ul><ul><li>Go Bills </li></ul></ul><ul><li>Rubyist </li></ul><ul><li>GitHub Blogger </li></ul>
  3. 3. Version control sucks.
  4. 4. But it doesn’t have to.
  5. 6. History
  6. 7. I'm an egoistical bastard, and I name all my projects after myself. First Linux, now git. -Linus Torvalds
  7. 8. History <ul><li>BitKeeper debacle </li></ul><ul><li>Design Goals: </li></ul><ul><ul><li>CVS as an example of what not to do </li></ul></ul><ul><ul><li>Distributed workflow </li></ul></ul><ul><ul><li>Strong safeguards against corruption </li></ul></ul><ul><ul><li>Very high performance </li></ul></ul><ul><li>In development since 2005 </li></ul>
  8. 10. Fast 1. Fast
  9. 11. Directed Acyclic Graph
  10. 12. Small 2. Small
  11. 13. Git Internals: Blobs 457aef93ff7ffbb289f7e1384f900679eacf044a main.c
  12. 14. Git Internals: Trees
  13. 15. Git Internals: Commits
  14. 16. Git Internals: Commits
  15. 17. Local 3. Local
  16. 18. The Staging Area
  17. 19. CHEAP. 4. Cheap Branching
  18. 20. Git Internals: Branches branchname HEAD
  19. 21. Branching
  20. 22. Distributed 5. Distributed
  21. 23. Git Internals: Remotes branchname HEAD remotes/server/name
  22. 24. Local vs. Remote
  23. 25. Any Workflow 6. Multiple Workflows
  24. 26. Centralized
  25. 27. Integration Manager
  26. 28. Benevolent Dictator
  27. 29. Failboat. It’s not perfect.
  28. 30. The downsides <ul><li>Complexity </li></ul><ul><li>Windows FTL </li></ul><ul><li>What's an IDE? </li></ul><ul><li>Unreadable source </li></ul><ul><li>Needs some maintenance </li></ul>
  29. 32. +
  30. 33. =
  31. 39. How to Contribute <ul><li>Fork a repository at GitHub </li></ul><ul><li>Clone and connect your local repository </li></ul><ul><li>Write tests, implement functionality </li></ul><ul><li>Commit your local changes </li></ul><ul><li>Push your changes to your fork </li></ul><ul><li>Make a pull request </li></ul><ul><li>Profit!! </li></ul>
  32. 40. Demo
  33. 41. git log <ul><li>Kudos to Scott Chacon who made </li></ul><ul><ul><li>http://git-scm.com </li></ul></ul><ul><ul><li>http://whygitisbetterthanx.com </li></ul></ul><ul><li>And to Michael Hartl </li></ul><ul><ul><li>for Building the Insoshi Social Network </li></ul></ul><ul><li>Wikipedia too. </li></ul><ul><li>[email_address] </li></ul><ul><li>http://litanyagainstfear.com </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×