Let's say we use two branches for development: staging and master. During the iteration all the changes made by all team members are regularly merged into staging branch and appear on our staging environment. Customer has the ability to review the changes and give a feedback. At the end of the iteration we merge staging branch into master and perform deployment from the master to our production instance
Imagine the situation when we have specific feature that can only be partially implemented in the current iteration. But at the same time we want our customer to see (and hopefully give a feedback) the changes brought by that feature on our staging env. As a result at the end of the iteration in our staging branch we have commits related to the features that should and should not be merged into master
Is there a way to solve situations like this?