Github API zip 文件命名结构更改

Github API zip file naming structure change

github API 正在重命名根文件夹名称。 public git 示例: https://api.github.com/repos/roots/sage/zipball/master 下载的文件重命名为: roots-sage-9.0.9-83-ge7de7b2.zip 根文件夹名称也重命名。这对于根文件夹名称需要保持不变的项目(如 WordPress 插件或模板)来说非常糟糕。 有没有办法select下载的文件名?

GitHub 总是生成一个包含一些修订信息的根目录的存档。这可能是分支名称、标记名称或 git describe 的输出,如您在本例中所见。

如果您不喜欢这样,您有一些选择:

  • 克隆存储库,可能使用 --depth 1,然后使用 git archive 生成您自己的 zip 或 tar 存档以及您想要的 --prefix 选项(不要忘记包括尾部斜杠)。
  • 解压时使用bsdtar-s选项修改压缩文件名:bsdtar -s '!^roots-sage-[^/]*!roots-sage!' -xvf archive.zip。 GNU tar 不能用于 zip 文件,但类似的选项 --xform 可用于 tar 文件。
  • 手动重新打包存档,使用 unzipmvzip,或者对于 tar 存档,tarmv.

请注意,如果您为 Unix 分发某些东西,tar 存档比 zip 存档更常用,因为它们更好地保留权限。

至于存档,名称由服务器指定,但您不必遵守。例如,您可以使用 -o 选项到 curl 来以您喜欢的任何名称写入文件。在 Unix 系统上通常使用 curl,但如果您想使用其他工具,请参阅该工具的文档以获取信息。