Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How GitHub Makes GitHub

How GitHub Makes GitHub

Alain Hélaïli

November 27, 2015
Tweet

More Decks by Alain Hélaïli

Other Decks in Technology

Transcript

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

    makes GitHub a @helaili - @AlainHelaili - ! [email protected]
  2. 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?
  3. 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
  4. "

  5. 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
  6. 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
  7. the best way to build and ship software 12 "

    DEVOPS CONTINUOUS DELIVERY The (very shorten) recipe CHATOPS # $ % ASYNCHRONOUS COMMUNICATION &
  8. 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/