Really not a fan of "sprout", "harvest" or "graft". They're not descriptive of what's happening just by their name.
In practice, the only ones I use are sync, publish, and unpublish.
I've had legit installed for months. Only command I ever use is "switch."
I don't trust anything else.
This doesn't improve git. It just complicates things. Stick to the interface git gives you and define your own intuitive aliases based on the ones you use the most.
The most effective way to work is to self-assess.