Basic Introduction to Git and Github. Covers the basic work flow of init, clone, add, commit and push. Other commands like git remote, git pull etc are briefly touched.
2. What is Git and Github
git
Git is an extremely fast, efficient, distributed version control
system used for collaborative development of software. Git
was designed and developed by Linus Torvalds.
git·hub
Github is a web-based hosting service for software
development projects that use the Git revision control
system. Github was founded by chris wanstrath and tom
preston-werner and PJ Hyett.
4. Installing Git
Installing Git is simple.
Download and follow the steps of installation.
Find detailed installations:
Linux
http://help.github.com/linux-set-up-git/
Windows
http://help.github.com/win-set-up-git/
OSX
http://help.github.com/mac-set-up-git/
5. Configuring Git with GitHUB
Github makes using Git a lot cooler.
Steps to have your Git installed to work with Github is as follows:
1. Generate SSH Key
2. Add SSH Key to Github
3. Setting up preference and info
4. Testing
6. Configuring Git with GitHUB
Generate SSH Key
To generate a new SSH key, enter the code below. Press Enter to
go with the default settings.
Now you need to enter a passphrase.
7. Configuring Git with GitHUB
Passphrase is another layer that makes you SSH key more secure. You
should see something like this. And a id_rsa.pub file would be created in
your working directory.
8. Configuring Git with GitHUB
Add SSH Key To Github
Create an account on www.github.com. Login, go to “Account
Settings” > Click “SSH Keys” > Click “Add another public key”
Open the id_rsa.pub file with a text editor. copy your SSH key exactly
as it is written without adding any newlines or whitespace. Now paste
it into the “Key” field. Leave the title out. Click Add Key and that is
all.
9. Configuring Git with GitHUB
Setting Up Info
Git tracks who makes each commit by checking the user’s name and email.
To set these, enter the code below, replacing the name and email with your
own. The name should be your actual name, not your GitHub username.
More options include
git config --global color.branch auto
git config --global color.diff auto
Find more customization options here:
http://book.git-scm.com/5_customizing_git.html
10. Configuring Git with GitHUB
Testing setup
To make sure everything is working type the following code.
You should get
Type Yes and you are done!
11. Working with Git Locally
Creating Projects
Navigate into the directory you want to create project in and run
this command
$ git init
12. Working with Git Locally
Adding Files to Staging Area
In Git, you have to add file contents to your staging area before
you can commit them
$ git add .
(add all files recursively)
$ git add *
(add all files)
13. Working with Git Locally
Checking Status of project
See what the status of your staging area is compared to the code in
your working directory, you can run the git status command
$ git status
$ git status –s (non-verbose)
14. Working with Git Locally
Committing Changes
Run this command to actually record snapshot that has been
added.
Git records your name and email address with every commit you
make.
$ git commit -m ‘first commit‘
Every commit should be accompanied by a message which
describes what the commit is about. You specify this with ‘-m’
flag.
15. Working with Git Locally
Branch Command
The git branch command is a general branch management tool
for Git. A git branch is basically the context in which you
currently work. To create a new branch run
$ git branch [branchname]
(creates a branch)
$ git branch
(lists existing branch)
When you run git init, a ‘master’ branch is
automatically created.
16. Working remotely with Github
So far, we have been working with Git on a local system. To put
your project up on GitHub, you’ll need to have a GitHub
repository for it to live in. Follow the following steps.
Login into Github and click on New Repository
18. Working remotely with Github
Each Repository has a unique URL. This would be needed when
you want to move your files to github. Go to the Repository
page and you would find the URL as similar as below:
19. Working remotely with Github
Adding a remote repository and alias
If you want to share a locally created repository to github it is
generally easiest to add it as a remote on your local machine. Git
stores an alias or nickname for each remote repository URL So
that you don't have to use the full URL of a remote repository
every time you want to synchronize with it. To add a remote use
the remote add command
$ git remote add [alias] [url]
alias = Name you want to refer to the remote eg origin, project
etc
url = unique url of the remote repository.
Example git remote add origin git@github.com:dadepo/Padly.git
20. Working remotely with Github
Copying a Git Repository with Clone
If you need to collaborate with someone on a project, or if you
want to get a copy of a project so you can look at or use the
code, you will clone it. To do this run the following command:
$ git clone [url]
url = unique url of the remote repository.
For example to clone a repository at
git@github.com:dadepo/Padly.git you type
git clone git@github.com:dadepo/Padly.git
21. Working remotely with Github
Updating from a remote repository
Git has two commands to update itself from a remote repository.
git fetch
git pull
The difference in these two commands in the simplest terms is
that, "git pull" does a "git fetch" followed by a "git
merge".
22. Working remotely with Github
Updating a remote repository
To update a remote repository with changes you have made locally you
run the following command
git push [alias] [branch]
* If someone else has pushed since you last fetched and merged, the Git server will
deny your push until you are up to date.
23. More Resources on Git
http://help.github.com/
http://learn.github.com/p/intro.html
http://gitref.org/index.html