if you want your propoer github go gitblit http://gitblit.com/
git
Secure your github access with SSH
Generating SSH keys
Step 1 – Check for existing SSH keys.
ls -al ~/.ssh
# Lists the files in your .ssh directory, if they exist
Check the directory listing to see if you already have a public SSH key. By default, the filenames of the public keys are one of the following:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
If you see an existing public and private key pair listed (for example id_rsa.pub and id_rsa) that you would like to use to connect to GitHub, you can skip Step 2 and go straight to Step 3.
Step 2 – Generate a new ssh key
ssh-keygen -t rsa -b 4096 -C "email@email.com"
it will ask you
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jjz109/.ssh/id_rsa):
keep default and just press ENTER
you ‘ll have
Created directory '/xxxxx/.ssh'.
Enter passphrase (empty for no passphrase):
Choose a secure phrase
then
Your identification has been saved in /xxxxxx/.ssh/id_rsa.
Your public key has been saved in /xxxxx/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:.............xx:xx email@email.com
The key's randomart image is:
+--[ RSA 4096]----+
| xxxxxx |
| xxxxxxxx |
|xxxxxxxxxxx |
|xx xxx xx |
| * * xx |
|. xxxx |
|..xxx |
|. xxx |
| |
+-----------------+
Step 3 – Add this key to the agent
Be sure ssh agent is running in background
$ eval "$(ssh-agent -s)"
It will give you the PID
Add your SSH key to the ssh-agent:
$ ssh-add ~/.ssh/id_rsa
The result should be : identity added xxxxxxxxxxxx
Step 4 – Add the SSH key to your account
install xclip with apt-get :
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
this will copy your key to the clipboard
Connect to your github account and go in SETTING
select SSH Key
Choose Add key
Past the key you have in your clipboard
SAVE
That’s done
Step 5 – Test the connection
ssh -T git@github.com
This will ask you the passphrase after you said yes to the first question
If the username in the message is yours, you’ve successfully set up your SSH key!
Starting with Git and Github on ubuntu
1 – Install Git
sudo apt-get install git
2 – Create a github account on GITHUB
3 – configure your git on your linux
git config --global user.name "user_name"
where user_name is your github login
git config --global user.email "email"
where email is your email used on github
Before the next step I will propose you to see our post about using SSH beetwin git and github
Here is the post :GIT GITHUB and SSH
4 – Create a local repository
Create a folder in your system. This will serve as a local repository which will later be pushed onto the GitHub website.
Use the following command: git init devops_pm_rep
On github you can try to fork an existing project , for example
https://github.com/jjz109/jhipster_example
Connected you can clic on the fork button to add this project to your account
When your github account is ok , you can create a local clone on your computer by using git
On github, on the right you’ll find a https clone url field. Copy the link.
something like : https://github.com/xxxxxxxx/jhipster_example.git
in a terminal:
git clone https://github.com/xxxxxxxx/jhipster_example.git
where xxxxis your user-name
It should do:
Clonage dans 'jhipster_example'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
Vérification de la connectivité... fait.
You can now ask git to sync your clone with the original repository (orignal is not your fork but the project you forked)
copy the url to the original project. in the example :
https://github.com/jjz109/jhipster_example.git
in your terminal : go to the repository where you put your git clone
cd $home
ls
cd xxxxxx
when you find your .git
git remote -v
will show your repositories
git remote add upstream https://github.com/jjz109/jhipster_example.git
wil add this upstream
Now, you can keep your fork synced with the upstream repository with a few Git commands
Sync a fork of a repository to keep it up-to-date with the upstream repository
git fetch upstream
# remote: Counting objects: 75, done.
# remote: Compressing objects: 100% (53/53), done.
# remote: Total 62 (delta 27), reused 44 (delta 9)
# Unpacking objects: 100% (62/62), done.
# From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
# * [new branch] master -> upstream/master
Fetch the branches and their respective commits from the upstream repository. Commits to master will be stored in a local branch, upstream/master
Check out your fork’s local master branch
$ git checkout master
# Switched to branch 'master'
Merge the changes from upstream/master into your local master branch. This brings your fork’s master branch into sync with the upstream repository, without losing your local changes.
$ git merge upstream/master
Syncing your fork only updates your local copy of the repository. To update your fork on GitHub, you must push your changes.
Pushing to a remote
Use git push
to push your local branch to a remote repository.
The git push command takes two arguments:
A remote name, for example, origin
A branch name, for example, master
For example:
git push
As an example, you usually run git push origin master to push your local changes to your online repository.