I'm part of a small (currently 3) man team that has been using PhpStorm for some time and love it, but just got into using git last year. Our git workflow has been pretty simple, just working off of the local master branch and then pushing (+merge) when we're done. It has worked well for us, but we know that it is not good practice.
We've been wanting to change to a new git flow that uses feature/bug/etc branches that come off of a "development" branch. We've tried doing this but we seem to have constant errors with rebasing failing, conflicts galore, push rejections, etc.. We must be doing something wrong.
via phpstorm we would checkout the local develop-branch and then create a new feature-branch from there. It's my understanding that from there, we should be rebasing on the develop-branch as the feature-branch is being developed. To do this, we've tried going to VCS -> Git -> Rebase which brings up a new window that asks for a series of things but mainly Branch, Onto, and From. Is it correct to select the feature-branch for Branch, the develop-branch for Onto, and then leave From blank? What does From do?
Is that right? Could someone please advise?
Also after that, when we want to merge the develop-branch into master-branch what is the correct protocol? Should we check out local-master-branch and do a Pull to get it up to date, then switch to the develop-branch and select VCS -> Merge Changes then Current branch would be develop-branch and onto: master-branch. Then check out the master-branch again and Push that?
I've went over the PhpStorm documentation about git and rebasing and while it describes the functions it still leaves me confused on how I should be using everything. Please help!