How to download .zip from GitHub for a particular commit sha?
我想下载一个.zip并带有托管在github上的库的源代码,但是我不想要它的母版,因为每次下载时,我都可能会下载一个不同的版本。
这个特定的库没有标签,所以我不能使用它。
那么我如何下载特定commit sha的source.zip?
您可以将所需的sha放在下载URL中:
通常,如果您的网址有效,则可以将" master"替换为所需的特定Sha。
在Unix上:
请记住,如果这是一个私有存储库,那么除非您也传递OAuth令牌,否则wget将无法工作。
有关此的更多信息:
无法从Private Repo下载Git存档tarball
查看提交的代码时,单击右上方的"浏览代码"按钮,然后单击"下载ZIP"。
这是一个古老的问题,但是要提及的是,如果您只想将提交作为补丁而不是提交时的整个存储库,则可以使用:
1 2 3 | $ wget http://github.com/username/repo/commit/sha1.patch # ^^^^^^^^ ^^^^ ^^^^ # change change change |
如果您要合并前一阵子撤消的更改,因此在分叉存储库中不存在,此功能特别有用。
对于那些来这里寻求从特定提交(或分支)下载特定文件(或目录)的方式的人:
1 2 3 4 5 6 7 8 | git_user="user-name" git_project="project-name" commit_or_branch="sha-id or branch name" dir_or_file="path/to/dir-or-file" archive_url="https://github.com/${git_user}/${git_project}/archive/${commit_or_branch}.tar.gz" wget -O - ${archive_url} | tar xz --strip=1"${git_project}-${commit_or_branch}/${dir_or_file}" |
将存档下载为