1

我正在尝试向某人发送我的 Git 存储库中一个分支的当前状态的副本。他无权访问存储库本身,也不需要版本控制历史记录。我还想通过电子邮件发送文件,因此包含过多的历史记录会导致文件太大。

我可以在新文件夹中手动使用 --depth=1 手动克隆该分支,然后压缩该文件夹并发送它,但这似乎是一种迂回的方式来完成可以使用 git-bundle 完成的事情。但是,如果我这样做git bundle create repo.bundle -1 HEAD了,根据https://git-scm.com/docs/git-bundle应该只捆绑最近的 1 个提交,当我尝试从捆绑包中克隆时,我会得到一个 590 B 文件和一个错误测试它:

error: Repository lacks these prerequisite commits:
error: 123456...             # example SHA, HEAD~1
fatal: bad object 789101...  # example SHA, HEAD
fatal: remote did not send all necessary objects

如何从本地存储库中仅获取最新版本的分支?

4

1 回答 1

1

如果你的朋友不需要.git他机器上的目录,那么你不需要压缩它。您只需要从您所在分支的尖端存档您的项目。

cd my-project

git checkout my-feature-to-share

zip -r my-project.zip .

这将生成一个存档,您可以自由地分享给您的朋友。如果您不想共享该.git文件夹,您可以使用该-x选项将其排除。

于 2020-09-03T12:15:31.757 回答