我想下载一个。但是我不想使用 master,因为每次我下载的时候都会下载一个不同的版本。
这个特殊的库没有标记,所以我不能使用它。
那么,如何下载特定提交 sha 的 source.zip 呢?
你可以在下载地址中输入你想要的地址:
https://github.com/{username}/{projectname}/archive/{sha}.zip
作为一般规则,如果您有一个可以工作的 url,您可以用您想要的特定 sha 替换“ master”。
在 Unix 上:
wget https://github.com/{username}/{projectname}/archive/{sha}.zip
请记住,如果这是一个私有回购,那么 wget 将无法工作,除非您也传递一个 OAuth 令牌。
以下是更多相关信息:
从 Private Repo 下载 Git 归档 tarball 遇到麻烦
查看提交代码时,单击右上角的“浏览代码”按钮,然后单击“下载邮政编码”。
这是一个古老的问题,但是想要提到的是,如果只需要提交作为补丁,而不是提交时的整个回购,那么可以使用:
$ wget http://github.com/username/repo/commit/sha1.patch # ^^^^^^^^ ^^^^ ^^^^ # change change change
/commit和 .patch部分是重要组成部分。
/commit
.patch
如果您想要合并一个前一段时间被反转的更改,因此在分叉的回购中不存在,那么这一点特别有用。
对于那些来这里寻找从特定提交(或分支)到 下载特定的文件(或目录)的方法的人:
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}"
以 tar.gz的形式下载归档文件的优势在于,您可以直接将 Wget导入 沥青命令,这样就可以使用 在飞行中提取 GZ。
tar.gz