I'm having trouble figuring out what to do manage the branches in my project. I have been working on a feature branch, "loads", which was branched off of "dev". Since branching, "dev" has moved forward by a few commits. Now, another developer started a new feature branch, "work", from the latest "dev" commit. The issue is that the features in "work" depend on the functionality in "loads". This functionality in "loads" is completed, but the "loads" branch as a whole is not "done".
Basically, what I want to do is make the latest changes in "loads" available to "work", without ending the life of the "load" branch.
Here's what the tree looks like at the moment:
(loads:A) -> (loads:B)
/
(dev:A) -> (dev:B) -> (dev:C)
\
(work:A)
Here's what I think I need to do
(loads:A) -> (loads:B) -> (loads:C) //continue work on "loads"
/ \
(dev:A) -> (dev:B) -> (dev:C) -> (dev:D)
\ \
(work:A) -> (work:B) //use "loads" features in "work"
I'm just a little unsure of the exact sequence of merges and whatnot to accomplish this. Last time I was trying to merge branches I royally screwed things up, spent a whole day reverting, and I really don't want to go through that again.