====== Using git and github ======
I hate GIT
===== Common Commands =====
* fetch - Downloads from a remote repository and updates the remote tracking branches.
* merge - Join two or more development histories together
* pull - Download the changes and merges them into working code
* push - Update remote refs along with associated objects
* commit - Record changes to the repository
* checkout - Switch branches or restore working tree files
* clone - Clone a repository into a new directory
===== Create a New Repository =====
==== Local Repository ====
Create a new local Git repository
* Make a new local directory and change to it
mkdir hello-world
cd hello-world
* Initialize a new local Git repository
git init
* Add files to Git repository
* Add files to repository and make initial commit to the local repository
git add .
git commit -m "Initial commit"
==== github Repository starting from a local git repository ====
* Create a local repository
* Create a new GitHub repository
* Navigate to [[https://github.com|github.com]]
* Press the plus symbol in the top right corner
* Select ‘New repository‘ option
* Do NOT add README or .gitignore files!
* Push files to the GitHub repository
* Note that "origin" can be any name
* Use "git@github.com:" for SSH access with key file (.ppk file created with Putty)
* Use "https://github.com/" or https access with github username/password
git remote add origin /.git
git branch -M master
git push -u origin master
or
git remote add origin /.git
git branch -M master
git push -u origin master
==== github Repository starting with a github repository ====
* Create a new GitHub repository
* Navigate to [[https://github.com|github.com]]
* Press the plus symbol in the top right corner
* Select ‘New repository‘ option
* Clone github repository to local repository
git clone
* Add files to local repository
git add
* Push files to the GitHub repository
git push
===== Work Flow =====
Start daily development with a "pull". Then "commit" as necessary.
When ready to update master repository do a "push".
Sync Dialog - Provides an interface for all operations related with remote repositories in one dialog including push, pull, fetch, remote update...
==== Forking ====
==== Tagging / Release ====
===== Configuration =====
Use PuTTY key generator to make public/private pair
On server (i.e. github.com) make sure public key is uploaded
Settings | Git
Set "local" credentials for a project
Settings | Git | Remote
Make sure URL is github "SSH" clone
Put in path to private key that matches public key above
Linux
-----
Make public/private pair
ssh-keygen -t rsa -b 4096 -C "*******@baggerman.org"
password = **********
Add your SSH private key
ssh-add ~/.ssh/*********
https://github.com/bbaggerman/irig106lib.git