HN Hall of Fame Weekly email

Tutorial: How to use Git in a team development environment

Screenshot of nvie.com captured 2026-07-20
Page preview · captured 2026-07-20

The originally submitted URL now redirects to the address above. Updating the destination does not change the item’s HN history, Hall membership, or rank.

Resurfaced independently across 10 calendar years, with breakout response in 4 of them.

submissions
17
submitters
17
observed span
2010–2023
peak thread · 120 comments
199 pts
latest 20+ return · 2023-09-07
70 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

I tried using Gitflow on our team, but there was too much complexity for me. We ended up switching to Trunk Based Development (TBD)[1] which I and my team found to be much simpler. [1] https://trunkbaseddevelopment.com/

umvi·199-point thread·

I've got a much nicer branching model- try not to have one. Everyone works off master, and you aren't allowed to check in code that won't run in production. Hide unfinished features behind feature flags, and never merge/push a change that won't pass tests/CI. The chaos of huge feature merges (a key source of bugs I've experienced) is minimized. You deploy fixes hourly, not weekly (or later monthly when it just won't seem to pass CI). The time between code…

mabbo·127-point thread·

This was terrible at the time and it remains terrible now. Extremely few teams need this level of complexity and some parts of it – like the redundant long-lived develop branch – are pointless safety blankets. It seems to have only caught on because a lot of people felt adrift when it comes to Git and this was written far too authoritatively for what it is. I’ve seen so many small teams tie themselves up wasting time working for Git…

Over time, I have come to feel this git workflow is more of an attempt to coerce git into a workflow that is familiar to users coming from subversion, rather than learning and understanding git's strengths. A corollary problems is that it mixes development workflow with release management - two disparate concerns that should be handled separately. After a couple years of using this model, I have done away with using a develop or release branches whatsoever. Develop everything in…

sonnym·61-point thread·

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
4

100+ points or 50+ comments

Total points
690

reference only — not used in Hall rules or ranking

Total comments
348

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2010-09-27A successful Git branching modelUncle_Sam60
2010-10-24Tutorial: How to use Git in a team development environmentFirst breakoutzackattack13726
2010-12-03A successful Git branching modelbry6511
2011-09-22A successful git branching modelnasmorn20
2011-09-30A successful Git branching modelmueller10
2012-01-10A successful Git branching modelozzzy31
2012-08-20Successful Git Branching Modelsnihalani50
2013-09-24A successful Git branching model (2010)dutchbrit6115
2014-10-13A successful Git branching model (2010)lobo_tuerto30
2014-12-01A successful Git branching model » nvie.comrey12rey20
2014-12-28A successful Git branching modelagrafix20
2016-06-28How you should be branching your git reposbokenator40
2017-04-17A successful Git branching modelMishievR20
2017-10-01A successful Git branching model (2010)Hall inductiongandalfar127120
2020-03-05A note of reflection after 10 years of “A successful Git branching model”Best threadnilsandrey199100
2022-12-27A successful Git branching modellopkeny12ko10
2023-09-07A successful Git branching model (2010)Latest 20+ point returnsaaspirant7075