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
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
70
Hiring Well
ndh313
2
120
Raising Girls Stinks
ndh313
0
360
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
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
150
GitHub Copilot CLIのいいところ
htkym
2
1.2k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
2
160
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.8k
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
初めてのRubyKaigiはこう見えた
jellyfish700
0
400
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
230
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.1k
Lessons from Spec-Driven Development
simas
PRO
0
110
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
580
CSC307 Lecture 17
javiergs
PRO
0
310
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
310
Designing for humans not robots
tammielis
254
26k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Un-Boring Meetings
codingconduct
0
300
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
350
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
130
Facilitating Awesome Meetings
lara
57
6.9k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
810
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
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