Please bear with me, as I’m a git newbie.
From my understanding, if I want to make a proposed commit against JME, I should branch jme master, make a change in my branch and create pull request. Until that pull request is accepted, any changes against that branch will get into same pull request, so it is temporarily ‘frozen’ (and probably should not be reused anyway due to naming/etc).
So, how do I solve following workflow:
I have branch A, based on jme-master, where I make experimental changes to jme, which are NOT to be submitted for some time. During development, I think of small feature which I think might be useful to other people. So I create branch B, based on jme-master and make change there, create pull request for that. While pull request is being processed, I develop another small feature which might be useful and is not dependent on B - so I create branch C, based of jme-master and create independent pull request.
Now, after both of them would get accepted into jme-master, I would just pull new version into A and everything works. But before they are accepted, I would like to continue development of my stuff in branch A. With just one branch, I could in theory rebase (is it called like that in git?) to B and then back to jme-master when it is pulled, but I don’t think I can do that with two branches. What I would really like to have is jme-master + changeset B + changeset C + my local A changes, with changeset B and changeset C disappearing silently as soon as they are pulled into jme-master. I certainly don’t want to manually retype B and C changes into A and then have to resolve conflicts when same thing is appearing in jme-master.
I know that it was possible to do things like that in some other system (Mercurial?) based on changesets, but is there a way to achieve it with github?