View
2.566
Download
0
Embed Size (px)
DESCRIPTION
Git and GitHub by Hiro Yoshioka March 25th, 2014 http://atnd.org/events/48075
Citation preview
Hiro Yoshioka, Development Unit,!Rakuten, Inc.!@hyoshiok!
https://github.com/hyoshiok!
Introduction to Git and GitHub
#git_nyan!
2
Agenda
• Git • GitHub
3
Git?
• History – Linus – Linux creator, 2005 – Git
• Reliable • Fast • Distributed • Content Manager • Suitable for large scale development
https://www.youtube.com/watch?v=4XpnKHJAok8
4
Tech Talk: Linus Torvalds on git
https://www.youtube.com/watch?v=4XpnKHJAok8
5
Linux
• Commits 491K+ • Contributors 12K+ • Lines of code 16M+ • License GPL v2 • http://www.ohloh.net/p/linux
3/24/2014 • Requirements from Linux
– Performance and distributed nature – Security and trust issues
6
Why is distributed VCS better?
• Distributed vs. Centralized – Offline/Local
• Fast
– Isolation • Experimental work • No committer right
– Reliable: trust and security • Not a single point of failure/natural
replication of data • Checksum everything (SHA-1 160bit)
7
Art of Git
• Make separate commits for logically separate changes.
• Describe your changes well. • Use imperative mood
• E.g., Fix bug-1234
https://github.com/git/git/blob/master/Documentation/SubmittingPatches
8
Art of Git
• Work flow – GitHub Flow
• http://guides.github.com/overviews/flow/
– Create branch – Add commits – Open a pull request – Discuss and review the code – Merge and deploy
9
GitHub
• Git hosting site. https://github.com/
10
GitHub Punch Card
https://github.com/RyuPiT/SharePla/graphs/punch-card
http://www.slideshare.net/hyoshiok/business-application-development-course-at-aiit
11
GitHub Punch Card
https://github.com/teampuma/Sorejanai/graphs/punch-card
12
Github and Social Coding
• Fork and Pull Request – You don’t need a write access
privilege. • Collaboration model
13
Most of github hosted projects did not have any license.
http://www.blackducksoftware.com/resources/infographics/deep-license-data
14
Why do we need OSS license?
• Collaboration model • Ban Free riders
– The Tragedy of the Commons
15
Open source and Bazaar
• Open source software (OSS) – software license
• Bazaar – Software development model – global distributed collaborative work
16
How can we choose it?
http://choosealicense.com
17
OSS Community • Typical OSS community
– Charisma, top programmers (e.g., Matsumoto san (Ruby), Linus Torvalds (Linux))
– Committers (top notch programmers who have the right to add/modify the OSS)
– Contributors (programmers who submit bug fixes, new proposals, patches)
– Casual users (report bugs, ask questions, etc)
committers
charisma
contributors
casual users
Matz Yugui
Linus
Greg K Hartman
http://commons.wikimedia.org/wiki/File%3AGreg_Kroah-Hartman_lks08.jpg
18
Hacker Ethics
• Sharing • Openness • Decentraization • Free access to computers • World improvement • Levy, Steven. (1984, 2001). Hackers:
Heroes of the Computer Revolution (updated edition). Penguin. http://www.gutenberg.org/ebooks/729
19
The Hacker Way (Facebook) IPO 2012
• Code wins arguments • Continuous Improvement and
Iteration • Open and Meritocratic • Hackathon • Bootcamp • http://www.wired.com/business/
2012/02/zuck-letter/
20
• Be Hacker. • Make the world a better place.
21
Advertisement
• We are hiring. • http://corp.rakuten.co.jp/careers/
entry/ • http://corp.rakuten.co.jp/careers/
engineer/
22
Appendix.
• Kernel Code Reading Party • http://kernel.doorkeeper.jp/
events/9547 – Date: March 28th, FRI – Time: 19:00 (Door Open), 19:30
(Start), 21:30 (End) – https://www.google.com/maps/place/35%C2%B037'17.3%22N
+139%C2%B044'54.7%22E/@35.6214655,139.7485181,15z/data=!3m1!4b1!4m2!3m1!1s0x0:0x0?hl=en