I feel like I'm missing something very obvious. I have a master branch. I can create new branches and make changes in them. I can commit and push those changes. My problem is that those changes always seem to go into every branch. There's never a need to merge because the master branch already has the changes. Could someone explain the basic workflow for creating a branch, making changes in only the new branch, and then merging those changes to the main branch?