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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nathan Hughes
March 07, 2012
Programming
300
5
Share
Github and the Software Startup
Using Github in the first month of a lean software startup.
Nathan Hughes
March 07, 2012
More Decks by Nathan Hughes
See All by Nathan Hughes
Detroit Labs Spring 2013 Mobile Update
ndh313
1
68
Hiring Well
ndh313
2
120
Raising Girls Stinks
ndh313
0
350
The Floor is Lava! Practice Being Uncomfortable with Improv
ndh313
1
130
1H15M Making Stuff Up - the floor is LAVA!
ndh313
2
100
Other Decks in Programming
See All in Programming
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
550
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.6k
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
130
The free-lunch guide to idea circularity
hollycummins
0
410
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
3
360
Rethinking API Platform Filters
vinceamstoutz
0
7.1k
Claude Codeログ基盤の構築
giginet
PRO
7
3.9k
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
200
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
330
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
240
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
220
Featured
See All Featured
A better future with KSS
kneath
240
18k
The Spectacular Lies of Maps
axbom
PRO
1
680
Docker and Python
trallard
47
3.8k
What's in a price? How to price your products and services
michaelherold
247
13k
エンジニアに許された特別な時間の終わり
watany
106
240k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
180
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
Test your architecture with Archunit
thirion
1
2.2k
ラッコキーワード サービス紹介資料
rakko
1
2.9M
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
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