introduction to git and github #git_nyan
Post on 18-Oct-2014
2.588 views
DESCRIPTION
Git and GitHub by Hiro Yoshioka March 25th, 2014 http://atnd.org/events/48075TRANSCRIPT
![Page 1: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/1.jpg)
Hiro Yoshioka, Development Unit,!Rakuten, Inc.!@hyoshiok!
https://github.com/hyoshiok!
Introduction to Git and GitHub
#git_nyan!
![Page 2: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/2.jpg)
2
Agenda
• Git • GitHub
![Page 3: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/3.jpg)
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
![Page 4: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/4.jpg)
4
Tech Talk: Linus Torvalds on git
https://www.youtube.com/watch?v=4XpnKHJAok8
![Page 5: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/5.jpg)
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
![Page 6: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/6.jpg)
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)
![Page 7: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/7.jpg)
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
![Page 8: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/8.jpg)
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
![Page 9: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/9.jpg)
9
GitHub
• Git hosting site. https://github.com/
![Page 10: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/10.jpg)
10
GitHub Punch Card
https://github.com/RyuPiT/SharePla/graphs/punch-card
http://www.slideshare.net/hyoshiok/business-application-development-course-at-aiit
![Page 11: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/11.jpg)
11
GitHub Punch Card
https://github.com/teampuma/Sorejanai/graphs/punch-card
![Page 12: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/12.jpg)
12
Github and Social Coding
• Fork and Pull Request – You don’t need a write access
privilege. • Collaboration model
![Page 13: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/13.jpg)
13
Most of github hosted projects did not have any license.
http://www.blackducksoftware.com/resources/infographics/deep-license-data
![Page 14: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/14.jpg)
14
Why do we need OSS license?
• Collaboration model • Ban Free riders
– The Tragedy of the Commons
![Page 15: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/15.jpg)
15
Open source and Bazaar
• Open source software (OSS) – software license
• Bazaar – Software development model – global distributed collaborative work
![Page 16: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/16.jpg)
16
How can we choose it?
http://choosealicense.com
![Page 17: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/17.jpg)
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
![Page 18: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/18.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
![Page 19: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/19.jpg)
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/
![Page 20: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/20.jpg)
20
• Be Hacker. • Make the world a better place.
![Page 21: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/21.jpg)
21
Advertisement
• We are hiring. • http://corp.rakuten.co.jp/careers/
entry/ • http://corp.rakuten.co.jp/careers/
engineer/
![Page 22: Introduction to Git and GitHub #git_nyan](https://reader036.vdocuments.net/reader036/viewer/2022081802/5442e6b9b1af9f390a8b47e8/html5/thumbnails/22.jpg)
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