导出 Git 项目

John Wachira 2022年7月12日
导出 Git 项目

在本文中,我们将讨论在 Git 中导出项目。我们使用 git archive 命令来创建我们的 Git 仓库的存档文件。

这样的文件会将几个文件合并为一个。存档文件便于在开发人员之间共享或长期存储。

git archive 命令

它有什么作用?

我们使用 git archive 命令为指定的 ref 生成存档文件,例如提交、分支和树。该命令可以与其他参数一起使用来改变输出,如下所示。

Git 导出示例

让我们从一个基本的 git archive 命令开始。

$ git archive --format=tar HEAD

如果我们在终端上执行此命令,它将从我们仓库中的 HEAD 创建一个存档文件。存档将转到我们的临时 stdout 流。

我们可以指定一个永久文件,如下所示。

$ git archive --output=./sample_repo_archive.tar --format=tar HEAD

执行上述命令时,它将为我们的 HEAD 引用创建一个存档文件并将其存储在 sample_repo_archive.tar 文件中。 --format=tar 选项指示 Git 生成未压缩的存档输出。

我们可以将其他流行的格式,如 ziptar.gz 传递给我们的格式选项。如果我们不包含格式选项,Git 会处理指定的 --output 选项。

$ git archive --output=./sample_repo_archive.tar.gz --format=tar HEAD ./Updates

Git 还使归档我们仓库的部分成为可能。上面的命令将为我们仓库的 /.Updates 目录中的文件创建一个存档文件。

Git 存档使用选项

上面的示例为我们提供了最常用的 git archive 选项的基本概念。让我们探索另一个可以传递给命令以进一步改变输出的选项。

--prefix=<prefix>/

我们使用 prefix 参数来附加我们存档中所有文件的路径,以便于提取。

--remote=<repo>

这是我们想要创建远程仓库存档的场景中的首选命令。运行命令时,我们必须包含远程仓库的 URL。

该命令还允许我们指向远程仓库中的 ref。

命令配置

git archive 命令遵循以下配置选项。

$ git config --global tar.umask

我们使用 unmask 配置来指定归档文件的 Unix 级权限位限制。

tar.<format>.command

我们使用上面的选项来创建一个自定义 shell 命令,它将运行我们的 git archive 输出。这与将 stdout 流传输到自定义工具并省略 --output 选项相同。

此操作的基本概念是创建一个固定的定制存档后处理工具。

tar.<format>.remote

我们可以启用上面的选项以允许远程开发人员以指定的 格式 获取档案。

简而言之,我们使用 git archive 命令生成 Git 仓库的可分发包。我们可以使用此命令定位特定的树、分支或提交。

它还具有多种输出格式以增加压缩。

作者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn