Great article. Also note that git-bundle can be used to manually transfer a range of commits between two computers. Suppose the sender's repository is at version 10 but the receiver is at version 4. On the sender's side, you can request to create a bundle of versions 5 through 10 and save that as a single file. You can move the file to the receive using whatever method you choose. On the receiver side, you can essentially "git pull" that set of patches. This technique has helped me in quite a few environments.