我如何通过电子邮件向某人发送git存储库?

Zub*_*air 83 git

我试过了:

git archive HEAD --format=zip > archive.zip
Run Code Online (Sandbox Code Playgroud)

:然后我发送电子邮件archive.zip,另一端将archive.zip解压缩到一个文件夹中.但是当他们尝试任何git命令时,他们发现这不会产生有效的git存储库

Von*_*onC 112

您可以使用git bundle并通过电子邮件发送一个文件

请参阅" 备份使用git的项目 "

git包只是一个文件,可以非常容易地创建并再次导入,因为它可以被视为另一个远程.

收到后,您可以克隆它或从该文件中获取.

正如" 备份github repo "中所提到的,您可能希望第一封电子邮件与所有分支机构捆绑:

$ git bundle create /tmp/foo-all --all
Run Code Online (Sandbox Code Playgroud)

正如Andreas在评论中提到的那样,Scott Chacon最近(2010年3月)在ProGit博客中写了一篇关于这个主题的"可爱"文章:

Git的小捆欢乐

  • @Zubair:unbundle吗?您可以简单地克隆它以获得正常的git repo.或者把它拉进一个空的回购.这就是我现在看到的,你做了什么;) (6认同)
  • @Zubair:是的,所有的历史都被保存了,与`git archive`相反! (3认同)
  • 现在我无法解开它!别担心,我在说话的时候正在寻找文档 (2认同)
  • 谢谢.我想通了:git init,然后:git pull bundle.bdl master (2认同)
  • @BVengerov链接现在是https://git-scm.com/blog/2010/03/10/bundles.html (2认同)

Man*_*ath 7

正如之前的回答所说,git bundle就是这样。

如果您想仅使用一个分支(我更喜欢仅捆绑main)并通过电子邮件发送来创建捆绑包,您可以执行以下操作:

git bundle create ~/mygitbackup.bundle main
Run Code Online (Sandbox Code Playgroud)

以上将在您的主目录中创建一个 git bundle 文件。