5% of the time, there are internet jitters that make this not feasible and I rsync the directory and continue working locally. Sometimes after this I'll end up working again in the repo on the server and so end up with two directories that started at a common point but have diverged.
Ideally I want to do a kind of 'rsync merge', a git merge but just with two directory trees that are close-but-not-quite aligned. I don't want to temporarily create separate parent git repos since the directories themselves already are git repos and that sounds like a confusing recipe for disaster.
Is there any kind of standalone 'git merge'-esque tooling for independent directory trees?
This is not the way to do it. Ideally, you'd git push whatever branch you're working on on the remote server, then git pull on your local workstation. Not rsync. This is a workflow problem, not a tool problem. I knew someone who would copy files from a repo to a temporary directory and work there. That is just not the way to do it.
>Ideally I want to do a kind of 'rsync merge'
I think you want to use git correctly at first and see if the limitations still persist (they won't, they almost never do).
>I don't want to temporarily create separate parent git repos since the directories themselves already are git repos and that sounds like a confusing recipe for disaster.
>Is there any kind of standalone 'git merge'-esque tooling for independent directory trees?
The above is the recipe for disaster. Please consider giving `git` a shot. I work from a location with internet bandwidths at the kbps levels (not kilobytes, kilobits) levels, power outages, and telcos randomly assigning you phone numbers of other people. This is one reason that drove us to create our machine learning (ML) platform in the first place (because we needed to launch ML training jobs that consumed data of data and we simply could not be downloading and we considered at some point having someone fly with a disk with 60 GB of data - not terabyte, just gigabytes, to tell you how much it sucked-). We also had users with 5 kbps (again, five kilobits per second, not five kilobytes per second) connections so I'm more intimately familiar with this issue than I'd ever want to be.
But git is exactly built to solve this problem, and you should be able to do it without temporary parent directories.
Why can't you check your work into a temporary branch on the server, push that branch up to a remote, and then check out that branch locally? Then do your work locally and/or remotely, and then push/pull/merge in all the places and life is good? All just using the existing git repo.