I am not quite sure, how to name my problem. But I will start with how I usually used git.
I am working as a single developer on one git repository. Usually I make feature-branches from master, and merge them back into master, when the feature is finished. When meanwhile another feature-branch was merged into master, I rebase the other branch on master, before merging.
That worked very good, until recently. One dependency I have in my project, needs an update. But it was not yet decided how this update will be implemented. But I can simulate the new behavior quite simply.
So I branched from master, and simulated that fix. So when the actual fix is available and merged into master, all changes above can be rebased back on master. But the decision on that fix is still pending, and my branches are stacking up:
* ee8d0ab (HEAD, featureTwo) * e659932 * 27986c0 (featureOne) * f0011e6 * d4187cf * 552e35a * 37d597f (simulatedFix) * e0eb3d0 (origin/master, master) * b06583c * d295b3e
I feel, that this is not good. It feels like I am building up dept. Imagine how this would look at featureTen, or featureTwenty.
What are the possible drawbacks of this method? And what is the best way, to handle this situation?