教程 > Git 教程 > Git 基础知识 阅读:1957

Git Archive 如何导出 git 项目

有时,创建 Git 存储库的存档文件会很有用。存档文件将多个文件合并为一个文件。然后可以提取存档文件来重现单个文件。Git 在保存历史和团队协作方面非常强大;然而,归档文件消除了 Git 元数据的开销,并且可以更简单地分发给其他用户或长期保存在库中。

git archive 有什么作用?

git archive 是一个 Git 命令行应用程序,它将从指定的 Git 引用(如commit、分支或tree)创建存档文件。git archive后面可以跟上改变存档输出的附加参数。

Git 导出示例

一个最基本的git archive例子如下

$ git archive --format=tar HEAD

执行此命令时,将从HEAD存储库的当前引用创建存档。默认情况下,git archive将存档传输到临时标准输出流。我们需要将此输出流捕获并写到文件中。可以使用git archives --output 选项或使用操作系统标准输出重定向来指定永久文件

$ git archive --output=/root/archives/jyphp.tar --format=tar HEAD

Git-archive存档

上面的示例创建了未压缩的存档。这由--format=tar选项指定。 format 还接受压缩文件格式zip和tar.gz. 传递这些格式选项之一将生成压缩存档。

如果没有指定格式值,将从--output 指定的文件名进行推断。

$ git archive --output=/root/archives/jyphp.tar.gz --format=tar HEAD ./build

此示例将./build路径参数添加到存档命令。此命令将输出仅包含存储在./build目录下的文件的存档

选项

前面的示例演示了一些最常用的git-archive用法。以下是可以传递给git-archive的一些选项

--prefix=<prefix>/

prefix 选项为存档中的每个文件添加路径。这有助于确保在唯一的命名空间中提取存档内容。

--remote=<repo>

remote 选项需要远程存储库 URL。当指定 remote 选项时,git-archive将获取远程存储库并从指定的 ref 创建一个存档(如果它在远程可用)。


配置

git archive 默认会使用一些全局 Git 配置值。可以使用 [git config][link to git config] 应用程序设置这些值。

tar.umask

unmask 配置选项用于指定对输出存档文件的 unix 级别权限位限制。

tar.<format>.command

此配置选项允许指定git-archive将运行输出的自定义 shell 命令。

tar.<format>.remote

如果启用,这将允许远程客户端获取指定的format类型的档案。

查看笔记

扫码一下
查看教程更方便