We had a branch a. Someone needed to improve functionality B they were planning on working on by using a function from a. So they branched out from a with branch b. Then, someone wanted to improve specific functionality in a to get a qualitative boost in performance of B so they branched out from b and created c.
My question is, what's the best way to get all the changes specifically add in c and put them in a without any changes from b.
Should you use Cherry Pick in cases like this? Is there a superior way to accomplish this? Could this result in a messy error in git?