Good news, everyone!
Starting yesterday, GitHub allows free accounts to have unlimited number of private repositories. The number of collaborators for such repos is limited to 3, but this is still a massive improvement and something I've personally been faiting for. There's just too many little things in a sysadmin's life that could benefit from git tracking but won't justify a premium price tag.
Updated GitHub pricing
This is how pricing looks now:
How To Create a Private Repository in GitHub
Assuming you already have a GitHub account and you're logged in, creating new repository is fairly straightforward:
Previously, selecting the Private type of repo would show a pop-up asking for paid upgrade of your account, but as you can see on the screenshot above, this is not the case anymore!
Once you click the Create Repository button, you should see your brand new repo:
Adding your SSH key to GitHub repository
If you haven't done this yet, now would be the time to access Settings in your profile (open URL https://github.com/settings/profile in another browser tab) and go to the SSH and GPG keys section there.
This will let you upload your existing SSH key that you later can use for accessing your GitHub repositories:
As seen on the screenshot, you provide some title to the SSH key and then copy-paste the whole key (I'm not including it in the screenshot fully).
The good sign that your key is added should be something that shows it like this:
Connecting to your GitHub repo using SSH
Going back to your GitHub repository, in the top right section you should see a green button called Clone or download. If you click it, you'll see a window with URL to your private repo. Don't forget to click the Use SSH there and you should see something like this:
Copy this onto your Linux/Unix desktop and run this in the command line:
greys@maverick:~/proj/unixtutorial/github $ git clone [email protected]:greys/unixtutorial.git
Cloning into 'unixtutorial'…
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
You should see a new subdirectory created in your location:
greys@maverick:~/proj/unixtutorial/github $ ls
and if you change into that directory, it would contain your private GitHub repository copy – which at this early stage only has the README.md
file:greys@maverick:~/proj/unixtutorial/github $ cd unixtutorial/
greys@maverick:~/proj/unixtutorial/github/unixtutorial $ ls
That's it! Hope you like the good news about free private GitHub repositories and stay tuned for more news and Unix/Linux How-To's!