How GitHub Makes GitHub

How GitHub Makes GitHub

71012cb8bfc5382943c202690e3562a8?s=128

Alain Hélaïli

November 27, 2015
Tweet

Transcript

  1. the best way to build and ship software How GitHub

    makes GitHub a @helaili - @AlainHelaili - ! helaili@github.com
  2. None
  3. the best way to build and ship software Git 3

    " • Started by Linus Torvalds 2005 (search “torvalds git” on youtube) • Easy branching and merging - content oriented, remembers origin • Small and fast - local operations, smaller repos • Distributed - VCS on my laptop, full copy incl. history • Data assurance - sha1, gpg • Staging area - crafted, meaningful commits • Free and open source - did you read the first line of this slide?
  4. " http://www.wired.com/2012/02/github-2/ Photo : Ariel Zambelich/Wired

  5. the best way to build and ship software An ideal

    patch flow 5 " “(0) YOU COME UP WITH AN ITCH. YOU CODE IT UP. (1) SEND IT TO THE LIST AND CC PEOPLE WHO MAY NEED TO KNOW ABOUT THE CHANGE. (2) YOU GET COMMENTS AND SUGGESTIONS FOR IMPROVEMENTS. YOU MAY EVEN GET THEM IN A "ON TOP OF YOUR CHANGE" PATCH FORM. (3) POLISH, REFINE, AND RE-SEND TO THE LIST AND THE PEOPLE WHO SPEND THEIR TIME TO IMPROVE YOUR PATCH. GO BACK TO STEP (2). (4) THE LIST FORMS CONSENSUS THAT THE LAST ROUND OF YOUR PATCH IS GOOD. SEND IT TO THE MAINTAINER AND CC THE LIST. (5) A TOPIC BRANCH IS CREATED WITH THE PATCH AND IS MERGED TO ‘NEXT', AND COOKED FURTHER AND EVENTUALLY GRADUATES TO ‘MASTER'. - HTTPS://GITHUB.COM/GIT/GIT/BLOB/MASTER/DOCUMENTATION/SUBMITTINGPATCHES
  6. "

  7. " GitHub Social Coding

  8. the best way to build and ship software GitHub key

    facts 8 " FOUNDED 2008 EMPLOYEES 382 UNIVERSITIES USING GITHUB 1,000+ TOTAL 
 REGISTERED USERS 11M TOTAL REPOSITORIES 30M PAYING ORGANIZATIONS >60,000
  9. the best way to build and ship software 9 "

  10. " What’s the secret?

  11. the best way to build and ship software The Zen

    of GitHub 11 " • Responsive is better than fast • It’s not fully shipped until it’s fast • Anything added dilutes everything else • Practicality beats purity • Approachable is better than simple • Mind your words, they are important • Speak like a human • Half measures are as bad as nothing at all • Encourage flow • Non-blocking is better than blocking • Favor focus over features • Avoid administrative distraction • Design for failure • Keep it logically awesome
  12. the best way to build and ship software 12 "

    DEVOPS CONTINUOUS DELIVERY The (very shorten) recipe CHATOPS # $ % ASYNCHRONOUS COMMUNICATION &
  13. " GitHub Flow

  14. Create a Feature Branch

  15. Add commits

  16. Open a Pull Request

  17. Discuss and Review Code

  18. None
  19. " Code Review

  20. None
  21. 1, 2… Some…. All?

  22. None
  23. None
  24. None
  25. None
  26. None
  27. the best way to build and ship software

  28. Ship

  29. the best way to build and ship software

  30. " " hubot

  31. the best way to build and ship software

  32. the best way to build and ship software

  33. the best way to build and ship software

  34. the best way to build and ship software

  35. the best way to build and ship software

  36. the best way to build and ship software

  37. the best way to build and ship software

  38. the best way to build and ship software

  39. the best way to build and ship software

  40. the best way to build and ship software

  41. the best way to build and ship software

  42. the best way to build and ship software

  43. Merge with master

  44. " Questions?

  45. the best way to build and ship software Resources 45

    " • http://githubengineering.com/runnable-documentation/ • http://githubengineering.com/scripts-to-rule-them-all/ • http://githubengineering.com/exception-monitoring-and-response/ • http://githubengineering.com/deploying-branches-to-github-com/