Scenario:
I have a production (P) branch and my current (C) branch I created to work on some new features. Some of them are ready, however work on the rest will take more time than anticipated.
I would like to push to production (and merge with production (P) branch) features that are ready now, and then continue to work on the rest of them in my current (C) branch.
My Idea:
I can create new pre-production (PP) branch, remove all references to the code that is not ready in it and merge it to production (P) branch. Then I'll continue to work on current (C) branch and merge to production (P) branch when my work is ready.
Problem:
When I remove references in pre-production (PP) branch, there will be a lot of conflicts later when I merge my current (C) branch with production (P) branch. I'm afraid I can miss some important change in code. How can I do it better, avoiding conflicts? Merging is the power of Git, so my assumption is I don't know something important.