AllGoodBits.org

Using topic branches in git to ease integration pain

If you want to participate in most public/FOSS projects using git, you'll want to get comfortable with using topic branches. This is a separate branch for a particular topic, even if you're making trivial changes such as spelling. There are various advantages such as:

a separate branch is easily updated so you don't get behind what's public or have to fight hard to stay up to date

being separated out makes it easier to modify/compress your commits to ease the burden on upstream

separation allows you to have multiple topics under development without so much chance of confusion

In a typical scenario, I have forked a repository on github and cloned my fork
locally, added the upstream repo: