Branch is a sequence of commits in a version control system, representing an independent line of development. Branches are used to develop features isolated from each other, allowing developers to work on different parts of the codebase simultaneously without stepping on each other's toes.
"I created a new branch to work on the login feature so I wouldn't break the main codebase, because apparently some people still think Facebook login is a good idea."
"Can you review my pull request? I merged the new AI-powered chatbot branch into the develop branch, but I'm not sure if it's as 'helpful and friendly' as the product manager claims."
A successful Git branching model - This classic article by Vincent Driessen explains a branching model that has become quite popular, involving develop and master branches along with supporting branches for features, releases, and hotfixes. It's a bit over-engineered for my taste, but apparently some teams enjoy that kind of thing.
Patterns for Managing Source Code Branches - In this article, Martin Fowler discusses common branching patterns like mainline, release, and team branches. He also reminds us that branching is easy, merging is harder, and integration frequency is key. Wise words from one of the OGs of software development.
Git Branching - Branches in a Nutshell - If you really want to geek out on branches, this chapter from the Git Book dives deep into how branches work under the hood in Git. It's a bit dense, but hey, that's why we get paid the big bucks, right?
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.