Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Github and the Software Startup
Search
Nathan Hughes
March 07, 2012
Programming
5
300
Github and the Software Startup
Using Github in the first month of a lean software startup.
Nathan Hughes
March 07, 2012
Tweet
Share
More Decks by Nathan Hughes
See All by Nathan Hughes
Detroit Labs Spring 2013 Mobile Update
ndh313
1
65
Hiring Well
ndh313
2
110
Raising Girls Stinks
ndh313
0
340
The Floor is Lava! Practice Being Uncomfortable with Improv
ndh313
1
120
1H15M Making Stuff Up - the floor is LAVA!
ndh313
2
100
Other Decks in Programming
See All in Programming
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
330
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1.3k
Health Kit × Foundation Models でAIコーチを作ってみた
ryunakayama
0
100
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2.1k
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
390
SidekiqでAIに商品説明を生成させてみた
akinko_0915
0
120
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
230
Blazing Fast UI Development with Compose Hot Reload (Bangladesh KUG, October 2025)
zsmb
2
490
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
140
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
900
CSC305 Lecture 15
javiergs
PRO
0
180
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
3
760
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Practical Orchestrator
shlominoach
190
11k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
Building Applications with DynamoDB
mza
96
6.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
920
Transcript
GITHUB AND THE SOFTWARE STARTUP The First Month. Nathan Hughes
@ndh313
THE LEAN SOFTWARE STARTUP Pay for what you need, and
nothing else.
CHEAPNESS IS A SURVIVAL TRAIT
DAY ONE What’s the problem?
WHY GITHUB?
SMALL & NIMBLE SOURCE CODE IS IMPORTANT WORKFLOW IS IMPORTANT
SOCIAL SHARING ALIGNS
WEEK ONE What’s the problem?
KEEPING SECRETS Private and public repositories
KEEPING SECRETS SECRET SSH Public and Private Keys
GETTING YOUR STUFF INTO GITHUB
SO WHERE DO YOU START?
LONE WOLF WORKFLOW
Your Laptop github.com origin master local master Start Work End
Work git commit git add git clone git push 1 1 1 2
WEEK TWO What’s the problem?
GETTING YOUR STUFF ONTO OTHER SERVERS
DEPLOY KEYS
Your Laptop github.com origin master local master Start Work End
Work git commit git add Your Staging local master git clone 1 1 git push git pull 1 2 1 3
WEEK THREE What’s the problem?
ORGANIZATIONS AND TEAMS
ONE LESS SHORTCUT git pull: out. git fetch and git
merge: in
STANDARD PRACTICES fetch and merge from master often integrate often
MASTER REPOSITORY What the organization owns, aka upstream.
PERSONAL FORKS Yours, your new origin.
YOUR NEW WORKFLOW Work in your fork, send Pull Requests
to the Master
Your Laptop github.com Master Repo (upstream) master local master Start
Work End Work git commit git add Fork Repo (origin) master git clone git push Merge Pull Request Fork 1 1 1 2 1 3 1 4 1 5
BUT WHY? Two good reasons.
GRANULAR CHANGES Answering “what in the ***** happened?” since 2008.
CODE REVIEW The practice you can’t afford to skip.
KEEP IT. IF YOU CAN. Personal Forking and Pull Requesting
is a clean, simple, versatile workflow. It can work for a long time.
WEEK FOUR Success breeds complexity!
OH, YOU’RE HAVING PROBLEMS You don’t say. What a mess.
How interesting.
HARD DECISIONS Feature Branches? Per Developer Branches? Something Else? Dedicated
Build Managers?
BECAUSE WE ARE small, experienced, co-located, self-managing, WE’LL TRY FEATURE
BRANCHES
None
FEATURE BRANCHES
Your Laptop github.com Master Repo (upstream) master Start Work git
commit git add Fork Repo (origin) git clone git push -u origin feature Merge Branch Branch Pull Request Fork 1 1 1 2 1 3 1 4 1 5 local master git checkout -b feature End Work git checkout master 1 6 Feature Branch Pull Requests local feature
Your Laptop github.com Feature Branch Merge (Pull Request Accepted) Fork
Repo (origin) master git fetch upstream git push 1 1 1 2 1 3 1 4 local master Upstream Merge local feature (abandon) Master Repo (upstream) master git diff master upstream/master git merge upstream/master
WHEW.
GITHUB ISSUES
GITHUB WIKIS
WEEK FIVE AND BEYOND What else could there be?
WHAT ELSE COULD THERE BE? • Harvest - time tracking
• Jira - story tracking • Testflight - build management • Crashlytics - crash reporting • Trello - information mapping • Dropbox - file sharing • IRC - team chatting • Amazon S3 - cheap storage • Amazon EC2 - dedicated servers
QUESTIONS?
Good Bye! Nathan Hughes @ndh313