Open Source Collaboration With Git And Git Hub
-
Upload
nick-quaranto -
Category
Technology
-
view
6.139 -
download
6
Transcript of Open Source Collaboration With Git And Git Hub
![Page 1: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/1.jpg)
Open Source Collaboration with Git and GitHub
Nick Quaranto
![Page 2: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/3.jpg)
Version control sucks.
![Page 4: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/4.jpg)
But it doesn’t have to.
![Page 5: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/5.jpg)
![Page 6: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/6.jpg)
History
![Page 7: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/9.jpg)
![Page 10: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/10.jpg)
Fast
1. Fast
![Page 11: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/11.jpg)
Directed Acyclic Graph
![Page 12: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/12.jpg)
Small
2. Small
![Page 13: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/13.jpg)
Git Internals: Blobs
457aef93ff7ffbb289f7e1384f900679eacf044a
main.c
![Page 14: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/14.jpg)
Git Internals: Trees
![Page 15: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/15.jpg)
Git Internals: Commits
![Page 16: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/16.jpg)
Git Internals: Commits
![Page 17: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/17.jpg)
Local
3. Local
![Page 18: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/18.jpg)
The Staging Area
![Page 19: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/19.jpg)
CHEAP.
4. Cheap Branching
![Page 20: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/20.jpg)
Git Internals: Branches
branchnamebranchname
HEADHEAD
![Page 21: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/21.jpg)
Branching
![Page 22: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/22.jpg)
Distributed
5. Distributed
![Page 23: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/23.jpg)
Git Internals: Remotes
branchnamebranchname
HEADHEAD
remotes/server/nameremotes/server/name
![Page 24: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/24.jpg)
Local vs. Remote
![Page 25: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/25.jpg)
Any Workflow
6. Multiple Workflows
![Page 26: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/26.jpg)
Centralized
![Page 27: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/27.jpg)
Integration Manager
![Page 28: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/28.jpg)
Benevolent Dictator
![Page 29: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/29.jpg)
Failboat.
It’s not perfect.
![Page 30: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/30.jpg)
The downsides
• Complexity• Windows FTL• What's an IDE?• Unreadable source• Needs some maintenance
![Page 31: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/31.jpg)
![Page 32: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/32.jpg)
+
![Page 33: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/33.jpg)
=
![Page 34: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/34.jpg)
![Page 35: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/35.jpg)
![Page 36: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/36.jpg)
![Page 37: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/37.jpg)
![Page 38: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/38.jpg)
![Page 39: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/39.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/40.jpg)
Demo
![Page 41: Open Source Collaboration With Git And Git Hub](https://reader034.fdocuments.us/reader034/viewer/2022042601/555c2311d8b42a09438b4aa1/html5/thumbnails/41.jpg)
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