I thought I would document how I do branching in git because it’s clearly
the best a perfectly acceptable way to do it, especially if you use GitHub.
git checkout -b <bug-number>/<rev>
<bug-number> maps to the GitHub (or Bugzilla, or Chromium, or Roblox customer support, etc.) issue number.
<rev> is an integer, and maybe 99% of the time it’s just
1 for me. But if, for whatever reason, you want to get wild and pivot off into a totally different direction, or set a new
<start-point>, you just increment that integer and still have some kind of transparent relationship with the bug task at hand.
git checkout -b parsing_html_with_regex_in_the_year_2021/2
(edit: It’s been out to me that this example does not follow my own advice because there’s no
<bug-number>, but instead
As a side benefit, when you go to write a commit message you don’t have to go hunting for the bug number in your N² + 1 open tabs (where N is the number of hours you’ve been working on the patches), because it’s in the branch name.
(For no good reason, for GitHub issues I like to prefix it with
issues/, I guess I just like the symmetry with the GitHub URL.)
I started doing this about 10 years ago when I worked at Opera. I don’t know if it was a widely used convention, or I just copied it off someone, but it’s pretty good, IMHO.