Alexandra Franks
Alexandra Franks

Reputation: 3032

Git over Email?

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?

Upvotes: 15

Views: 6932

Answers (3)

Jim Puls
Jim Puls

Reputation: 81132

See the main pages for git-format-patch and git-am. This is one of the ways the system was originally designed to work with.

Upvotes: 5

terminus
terminus

Reputation: 14512

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.

Upvotes: 3

CB Bailey
CB Bailey

Reputation: 793109

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).

Upvotes: 29

Related Questions