Hi Jacob! Brilliant article, I was dealing with the same thing today.
I have another problem tho. The repo I was contributing to did not have a lot of activity and I had to make many changes and many PRs (rule was one change per commit, one commit per PR). Now I made change 'ChA' and commited 'CmA'. Then I pushed and created a PR. But the problem I guess was that the PR was not accepted very fast (as would generally happen). I move on to next change, 'ChB', commit 'CmB' and push it. But now when I try to open a PR, I am shown the previous PR (which has not yet been accepted) with both commits 'CmA' and 'CmB'. How do I keep them separate?
That sounds like you need to make each of those commits on different branches.
If you didn't make a new branch when you created 'CmB', then you might have accidentally added that commit to the same branch as 'CmA' which would put it in the same Pull Request.
Thank you for the reply, Jacob. Yes, these were all on the master branch. Do you suggest I make separate branches for each of those changes? How does that work for many changes?
What I do, is create a branch for each new feature. I usually have quite a few commits in each PR, but they are all for the same feature on what most people refer to as a 'feature branch' (meaning a branch specifically for that feature).
So if I'm going to fix some documentation, I'd make a branch from master called documentation-fixes.
git checkout master
git checkout -b documentation-fixes
git commit -am "Some doc fixes!"
Then when I got to implement a feature, I'd make a new branch from master:
git checkout master
git checkout -b some-new-feature
git commit -am "Some feature!"
I understand now. Thanks for such detailed explanations! They really help a lot. And congratulations on the new job! :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.