用于推送标签的最小 Git 文件夹占用空间

Smallest Git Folder Footprint in order to push tags

这个问题是关于能够在 Azure RELEASE 管道中创建和推送 git 标签。我知道如何推送标签,但 Azure Release 管道不能很好地同时使用已发布的工件和 repo 工件,所以我认为在构建管道中我需要压缩签出的源文件夹 Build.Repository.LocalPath 和将它与我的其他工件一起推送,然后在发布管道中解压缩,create/push 那里的标签。

我不需要存储库的所有文件和 history/etc,我只需要足以支持这个过程,因为包含所有历史记录的源代码存储库压缩为 1GB。

问题:如何让我的 git 文件夹成为占用空间最小的文件夹,以便稍后解压缩并创建必要的 tags/etc。我不需要历史甚至文件我只需要能够执行这些命令:

cd %Agent_ReleaseDirectory%\_repo
git tag  mytag
git push -f --tags 

更多信息。这是在 windows 构建代理上。构建管道拉下回购并提交。我可以 powershell/cmd 进入目录并执行任何 git 命令或删除 files/etc。我只是不知道清理这个文件夹的最有效方法是什么(压缩和发布工件已经完成)。

将远程仓库中的当前 master 分支标记为 v1.1 的绝对最小克隆将是

git clone --template= --bare --depth=1 --filter=tree:0 -b master u://r/l repo
git -C repo tag -m 'My tag' v1.1
git -C repo push origin v1.1

并且克隆将非常小,可能远小于 100KB。