If you are or want to be an open-source developer, you must try GitHub. It is a new hosted Git repository service that's being called a "social network" for programmers. It is basically a distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Setup SSH key
Generate SSH Key
If you have created your account at GitHub and now you want to work with it from your terminal.
Before you start installing Github, you should set up ssh keys:
cd .ssh ssh-keygen -t rsa -C "firstname.lastname@example.org"
If your key does not have the default filename, you'll have to pass the path to
ssh-add ~/.ssh/my_other_key # Enter passphrase for /home/you/.ssh/my_other_key: [tappity tap tap] # Identity added: /home/you/.ssh/my_other_key (/home/you/.ssh/my_other_key)
And you will get the following output:
Generating public/private rsa key pair. Enter file in which to save the key (/home/xiehaozhe/.ssh/id_rsa): github Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in github. Your public key has been saved in github.pub. The key fingerprint is: a5:93:9a:e1:b6:23:f7:ac:48:2e:5a:dc:70:18:dd:26 email@example.com The key's randomart image is: +--[ RSA 2048]----+ | | | . . | | . E o . | | o o + | | o . . S | | . + . + . | | o o = | | ..o.ooo | |.. .ooo+o | +-----------------+
Add your SSH Key to GitHub
Look up your SSH key in id_rsa.pub file:
Copy the SSH public key to the clipboard, and Open https://github.com/settings/ssh
Click "Add SSH Key", and paste your SSH key.
Test connection to GitHub
ssh -vT firstname.lastname@example.org
If you got an error: Agent admitted failure to sign
For most users, simply running
ssh-add to load your keys into the SSH agent will fix this issue.
ssh-add # Enter passphrase for /home/you/.ssh/id_rsa: [tippy tap] # Identity added: /home/you/.ssh/id_rsa (/home/you/.ssh/id_rsa)
Or, you will get a welcome message:
Hi zjhzxhz! You've successfully authenticated, but GitHub does not provide shell access.
sudo apt-get install git
Working with git
git clone email@example.com:username/projectname.git
To configure git
git config --global user.name "Your Name" git config --global user.email "firstname.lastname@example.org"
To do a script/config, make, perform some changes to the code, ...
git add new_or_existing_file.c git commit git push origin master
Occasionally you will want to sync up your fork to the main project branch and pull down any official changes by doing git pull upstream master which is the equivalent of manually doing:
git fetch upstream git merge upstream/master
You can get more information about Git at: http://rogerdudler.github.io/git-guide