下载github项目的特定分支

19

简而言之,为了运行卷积神经网络模型,我需要一个特殊版本的nolearn,它的网址格式类似于https://github.com/dnouri/nolearn/tree/1659e4811e498dc1f442d8e6486d0831f85255b4/nolearn。但是,该页面上没有 Download as Zip 按钮,也无法直接下载。

git clone https://github.com/dnouri/nolearn -branch 1659e4811e498dc1f442d8e6486d0831f85255b4/nolearn

简单来说,

git clone https://github.com/dnouri/nolearn/tree/1659e4811e498dc1f442d8e6486d0831f85255b4/nolearn

也不起作用。

甚至,我都不知道在谷歌上应该搜索什么!

注意:这是最后一个支持类Objective的版本,即命令from lasagne.objectives import Objective不再受支持!

4个回答

45

这可以帮助你:

如何在git中克隆单个分支?

其中指定:

git clone <url> --branch <branch> --single-branch [<folder>]

文档:

Git克隆

 

--[no-]single-branch

 

仅克隆到单个分支的顶部历史记录,可以由--branch选项或主分支remote的HEAD指向来指定。当使用--depth选项创建浅克隆时,默认情况下为此选项,除非使用--no-single-branch以获取接近所有分支尖端的历史记录。进一步将结果存储库中的抓取更新仅用于此选项进行初始克隆的分支的远程跟踪分支。如果远程的HEAD在进行--single-branch克隆时没有指向任何分支,则不会创建远程跟踪分支。


1
给其他像我一样的新手注意,上述命令中的 folder 名称不应该放在方括号内。 - yoges nsamy
1
好观点!我不确定,但似乎方括号是来自某个我不知道的约定,表示可选参数。 - mayo

13

除Subversion(SVN)外,Git有不同的命名空间用于目录(文件系统文件夹)、分支和标签。因此,https://github.com/dnouri/nolearn/tree/1659e4811e498dc1f442d8e6486d0831f85255b4/nolearn本身不是一个分支。 1659e4811e498dc1f442d8e6486d0831f85255b4是提交ID,在此处用于指代由该提交所创建的修订版。 dnouri/nolearn是GitHub上的存储库名称(帐户dnouri下的存储库nolearn),URL中最后一个nolearn是修订版1659e4811e498dc1f442d8e6486d0831f85255b4内容中的一个目录。

使用git获取此代码的“正常”方法是:

  1. 将存储库复制到本地计算机上

  2. git clone https://github.com/dnouri/nolearn.git
    

    你可以在代码库页面的“克隆URL”字段中找到此URL,该页面的链接为https://github.com/dnouri/nolearn

  3. 进入本地代码库

  4. cd nolearn
    
  5. 查看所需的修改

  6. git checkout 1659e4811e498dc1f442d8e6486d0831f85255b4
    
  7. 进入存储库中相应的目录

  8. cd nolearn
    

1
使用@mayo的答案可以减少数据消耗:git clone <url> --branch <branch> --single-branch <folder> - Rico Neitzel
1
这是正确的@RicoNeitzel,但据我所知,这通常不是Git用户会做的事情,除非数据量确实是一个问题。(如果是这样,那么应该考虑所有这些数据是否真的属于单个Git存储库。) - das-g

5

谢谢回复,不过这不是我需要的!这是master分支上的最新版本,而不是我需要的那个。 - Ali Shakiba
应该可以了,我已经插入了正确的链接:https://github.com/dnouri/nolearn/archive/1659e4811e498dc1f442d8e6486d0831f85255b4.zip - landareex
Git 黑科技?你是什么意思? - landareex
我的意思是命令行中的一些开关,例如 git clone https://github.com/dnouri/nolearn --some-magic-switch 1659e4811e498dc1f442d8e6486d0831f85255b4 - Ali Shakiba
@Das-g提到了你正在寻找的“魔法开关”,并解释了你无法下载它的原因。 - landareex
显示剩余2条评论

1
适用于任何仓库和分支的Zip解决方案:
https://github.com/<username>/<repository>/archive/<branch>.zip

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接