I've tried for almost a day to find out the best way to handle this situation, but even if I found and understood many things about how git works, I was not able to find any 'conventional' way of handle and solve the following situation on git (because of my lack of experience). In our project we have a develop branch and from this branch we need to create a new big feature branch that will be used to put together other small functionalities that will be developed in other sub branches, starting from this feature branch.
A--B--C--D (develop) \ E--F--G (feature-branch) \ H (sub-branch) The reason for doing that is that we don't want to touch our develop branch until the entire feature is completed and, at the same time, if some bug fixes will be needed into the develop branch, we want to be able to apply them. At the same time we want to keep up to date our feature-branch if some changes (or bug fixes) will be applied to the develop branch. So from this situation
A--B--C--D--I--J--K (develop) \ E--F--G (feature-branch) \ H (sub-branch) We want to have the following
A--B--C--D--I--J--K (develop) \ E--F--G (feature-branch) \ H (sub-branch) Usually when creating a simple feature branch from develop I use to rebase my branch onto develop to move my commits and keep the history clean. In the explained scenario instead, me and my collegues we are sharing the feature-branch and we are creating sub branches from there, so how to keep the feature-branch up to date with the new commits added to the develop branch? Is it possible to rebase in the same way as we do for our local private branches without any side effects? Any example with git commands will be appreciated
Thanks in advance for every hint/resource or suggestion.