Commit Individual Branch (Without Committing the whole master)

Lately I’ve been doing some work with a project which lives on Gitlab. Last week I found a bug, so I put together a patch.

Since the package lives on Gitlab, I followed instructions to put together a “pull request”:

I forked the main branch to my own Gitlab account.
I checked out my fork.
I fixed the bug, and submitted the pull request.

Then I felt good about myself, and continued on with my work. Today I tracked down another bug, unrelated to the previous one. I know enough about git to know that I shouldn’t commit this fix to my fork, because it would then become part of the previous pull request.

So I created a branch within my fork, and committed the change there. But Gitlab provides no way to create a pull request that only includes the new stuff! Every attempt I made would have included everything from both bug fixes.

I’ve read online about creating a new branch based on the master copy, and “cherry picking” just the final change: But it required the command line, and was not easy enough.

Okay, I know the solution: I need to burn the whole thing down. I’ll just create a new fork, and put the new bug fix in a branch there.

I can’t! I don’t know if this is a Git restriction or a Gitlab restriction, but it won’t let me create a new fork without deleting the old one. I don’t know if deleting the previous fork would also delete the previous PR, so I’m not going to do this.

This is ridiculous! It is such an easy concept: I want to take the diff between my most recent commit and the one before, and send that diff to the owners of the master copy. This should be a trivial (and it is in svn).