Assuming network access is sporadic with no central server, what would be the best way to use git to keep three or more branches in sync? Is there a way to extract just my deltas, email those, and merge them on the other end?
See the man pages for git-format-patch
and git-am
. This is one of the ways the system was originally designed to work.
There are a few tools in git to use to mail patches or import mailed patches: git-am (apply patches from a mailbox), git-format-patch (prepare email for mailing), git-send-email (send a collection of patches via mail), etc. man 1 git has a complete list.
While "git format-patch" and "git am" are great ways to manage patches from non-git sources, for git repositories you should investigate "git bundle".
"git bundle" and the subcommands "create" and "unbundle" can be used to create and use a binary blob of incremental commits that can be used to transfer branch history across a 'weak' link via an alternative file transfer mechanism (e.g. email, snail-mail, etc.).
git bundles will preserve commit ids, whereas format-patch/am will not resulting in the destination commits not being identical (different SHA1s).