您可以让他们将其存储库(或其中的一部分)导出为 git 包。请参阅http://git-scm.com/docs/git-bundle
命令
git bundle create filename master
创建一个名为的文件filename
,其中包含一个捆绑的存储库,直到 . 标记的修订版master
。通过在命令行中列出它们可以包含多个分支/提示:
git bundle create filename master develop bugfix-mybug
然后您可以在本地存储库中将捆绑包添加为远程并从中提取:
git remote add some-remote-name filename
git fetch some-remote-name
git merge some-remote-name/master
如果您知道目标存储库已经有一些提交,您可以导出部分捆绑包,方法是为捆绑包指定基本提交或基于时间。命令:
git bundle create mybundle --since=10.days master
git bundle create mybundle version1...master
将创建包含重建主分支所需的所有提交的捆绑包,假设捆绑包的消费者分别具有 10 天前的版本master
或标签/分支指向的提交version1
当客户端生成一个新的捆绑包供您使用时,只需替换文件并再次运行git fetch some-remote-name