This seems like an odd workflow (though an understandable one). Most people would use git branches for switching between feature or bugfix branches. (So long as you don't have to work on them in parallel.)
This workflow could definitely benefit from setting
CARGO_TARGET_DIR to a shared location (or just putting multiple checkouts into a workspace) to allow sharing of work.
I've set my target dir to a shared location a good while ago -- basically a poor man's sccache. It works really well, and I just have to remember to run a
cargo clean about every six weeks whenever I run