19

To cut the story short, to run a convolutional neural network model, I need an special version of nolearn, which has a url of the form https://github.com/dnouri/nolearn/tree/1659e4811e498dc1f442d8e6486d0831f85255b4/nolearn . However, there are no Download as Zip buttons at the page, nor I can download it with

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

Simply,

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

does not work, too.

Even, I have no idea what should I search for in Google!

Note: This is the last version which provided support for the class Objective, i.e. the command from lasagne.objectives import Objective is no more supported!

Ali Shakiba
  • 1,255
  • 2
  • 15
  • 29

4 Answers4

45

This can help you:

How to clone a single branch in git?

Where specifies:

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

Docu :

Git Clone

--[no-]single-branch

Clone only the history leading to the tip of a single branch, either specified by the --branch option or the primary branch remote’s HEAD points at. When creating a shallow clone with the --depth option, this is the default, unless --no-single-branch is given to fetch the histories near the tips of all branches. Further fetches into the resulting repository will only update the remote-tracking branch for the branch this option was used for the initial cloning. If the HEAD at the remote did not point at any branch when --single-branch clone was made, no remote-tracking branch is created.

Community
  • 1
  • 1
mayo
  • 3,845
  • 1
  • 32
  • 42
  • 1
    Note to other noobs like me, the `folder` name in the command above should not be inside square brackets. – yoges nsamy May 10 '20 at 00:18
  • 1
    Good point! I am not sure but it seems like a convention from i-dont-know-where that square brackets mean an optional parameter. – mayo May 10 '20 at 17:03
13

Other than in Subversion (SVN), git has separate namespaces for directories (file system folders), branches and tags. Thus https://github.com/dnouri/nolearn/tree/1659e4811e498dc1f442d8e6486d0831f85255b4/nolearn is not, per se, a branch. 1659e4811e498dc1f442d8e6486d0831f85255b4 is a commit ID, used here to refer to the revision created by the commit. dnouri/nolearn is the repository name on GitHub (repository nolearn on account dnouri) and the final nolearn in the URL is a directory within the content of revision 1659e4811e498dc1f442d8e6486d0831f85255b4.

The 'normal' way to get this code with git would be:

  1. replicate the repository to your local machine

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

    (You can find this URL on the repository's page https://github.com/dnouri/nolearn, in the 'clone URL' field.)

  2. enter the local repository

    cd nolearn
    
  3. check out the wanted revision

    git checkout 1659e4811e498dc1f442d8e6486d0831f85255b4
    
  4. change into the respective directory inside the repository

    cd nolearn
    
das-g
  • 9,718
  • 4
  • 38
  • 80
  • 1
    it's less data consuming by using @mayo's answer: ```git clone --branch --single-branch ``` – Rico Neitzel Mar 26 '18 at 08:28
  • 1
    That's true @RicoNeitzel, but AFAIK it's not what Git users would usually do, unless the amount of data really is a problem. (And if so, one should probably consider whether all that data really belongs into a single Git repo.) – das-g Mar 26 '18 at 12:04
5

This is the link to the .zip : https://github.com/dnouri/nolearn/archive/1659e4811e498dc1f442d8e6486d0831f85255b4.zip

landareex
  • 51
  • 5
1

The solution for zip that would work for any repo and branch:

https://github.com/<username>/<repository>/archive/<branch>.zip
illuminato
  • 1,057
  • 1
  • 11
  • 33