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

如何通过电子邮件向某人发送git存储库?,git,Git,我试过: git archive HEAD --format=zip > archive.zip :然后我给archive.zip发电子邮件,在另一端他们将archive.zip解压到一个文件夹中。但是当他们尝试任何git命令时,他们发现这不会生成有效的git存储库您可以使用并通过电子邮件发送一个文件 见“ git包只是一个文件,可以很容易地创建并再次导入,因为它可以像另一个远程文件一样处理 一旦收到,您可以克隆它或从该文件中提取 如“”中所述,您可能希望第一封电子邮件与所有分支机构捆绑

我试过:

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

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

见“

git包只是一个文件,可以很容易地创建并再次导入,因为它可以像另一个远程文件一样处理

一旦收到,您可以克隆它或从该文件中提取

如“”中所述,您可能希望第一封电子邮件与所有分支机构捆绑:

$ git bundle create /tmp/foo-all --all
正如评论中提到的,最近(2010年3月)在以下网站上写了一篇关于这个主题的“可爱”文章:

正如前面的答案所说,这就是方法

如果您只想使用一个分支(我更喜欢只绑定
main
)并通过电子邮件发送,那么您可以执行以下操作:

git bundle create~/mygitbackup.bundle main

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

@Zubair:是的,所有历史记录都已保存,这与
git archive
相反!谢谢我算出了:git init,然后:git pull bundle.bdlmaster@Zubair:解开它?您可以简单地克隆它以获得正常的git回购。或者在空头回购中收回。我现在明白了,这就是你所做的;)这是关于如何使用bundle命令及其作用的一个很好的概述:@BVengerov该链接现在是为其他人提供的:git archive不适合该作业的原因是它只打包了工作树。它是用来做一些事情,比如把你所有的资源做成一个柏油球,用于分发。