0% found this document useful (0 votes)
13 views

Github_Intro_Devops

Uploaded by

King Of Luck
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Github_Intro_Devops

Uploaded by

King Of Luck
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Git 101:

Module 2: Git
Overview
1. Install git and create a Github account
2. What is git?
3. How does git work?
4. What is GitHub?
5. Quick example using git and GitHub
Github icon
1 Install git and a create
GitHub account
Install git
• Linux (Debian)
-Command: sudo apt-get install git

• Linux (Fedora)
-Command: sudo yum install git

• Mac
-http://git-scm.com/download/mac

• Windows
-http://git-scm.com/download/win
Create Github account

• www.github.com
• Free for public repositories
What is version control?

• A system that keeps logs of your changes


• Allows for collaborative development
• Allows you to know who made what changes
and when
• Allows you to revert any changes and go back
to a previous state
2 What is git?
What is version control?
• Distributed version control
• Users keep entire code and history on their
location machines
• Users can make any changes without internet access
• (Except pushing and pulling changes from a remote
server)
What is git?

• Started in 2005
• Created by Linus Torvald to aid in Linux kernel
development

Git icon
What is git?
• Git isn’t the only version control system

• But (we think) it’s the best


3 How does git work?
How does git work?

• Can be complicated at first, but there are a


few key concepts
• Important git terminology in following
slides are blue
Key Concepts: Snapshots
• The way git keeps track of your code history

• Essentially records what all your files look like at a


given point in time

• You decide when to take a snapshot, and of what files

• Have the ability to go back to visit any snapshot


• Your snapshots from later on will stay around, too
Key Concepts: Commit

• The act of creating a snapshot


• Can be a noun or verb
• “I commited code”
• “I just made a new commit”
• Essentially, a project is made up of a bunch
of commits
Key Concepts: Commit
• Commits contain three pieces of information:
1. Information about how the files changed from
previously
2. A reference to the commit that came before it
• Called the “parent commit”
3. A hash code name
• Will look something like:
fb2d2ec5069fc6776c80b3ad6b7cbde3cade4e
Key Concepts: Repositories

• Often shortened to ‘repo’


• A collection of all the files and the history
of those files
• Consists of all your commits
• Place where all your hard work is stored
Key Concepts: Repositories

• Can live on a local machine or on a


remote server (GitHub!)
• The act of copying a repository from a
remote server is called cloning
• Cloning from a remote server allows
teams to work together
Key Concepts: Repositories
• The process of downloading commits that don’t
exist on your machine from a remote repository
is called pulling changes
• The process of adding your local changes to
the remote repository is called pushing
changes
Key Concepts: Branches

● All commits in git live on some branch


● But there can be many branches
● The main branch in a project is called the
master branch
So, what does a typical project look like?

• A bunch of commits linked together that live on


some branch, contained in a repository
• Following images taken and modified from:
• http://marklodato.github.io/visual-git-
guide/index-en.html
• Also a good tutorial!
So, what does a typical project look like?

Time going forward


So, what is HEAD?

Time going forward


So, what is HEAD?

• A reference to the most recent commit

Time going
So, what is HEAD?
● A reference to the most recent commit
○ (in most cases – not always true!)

Time going forward


So, what is MASTER?

• The main branch in your project

Time going forward


Key Concepts: Branching off of the master
branch

• The start of a branch points to a specific commit


• When you want to make any changes to your
project you make a new branch based on a
commit
Key Concepts: Branching off of the master
branch

Images from:
http://codingdomain.com
/ git/merging/

Time going forward


Key Concepts: Merging
• Once you’re done with your feature, you merge it
back into master

Time going forward


Key Concepts: How do you make a commit
anyway?

• There are a lot of ‘states’ and ‘places’ a file can be


• Local on your computer: the ‘working directory’
• When a file is ready to be put in a commit you add it
onto the ‘index’ or ‘staging’
• Staging is the new preferred term – but you can see both
‘index’ and ‘staging’ being used
Key Concepts: How do you make a commit
anyway?

• The process:
• Make some changes to a file
• Use the ‘git add’ command to put the file onto the
staging environment
• Use the ‘git commit’ command to create a new
commit’
Key Concepts: How do you make a commit
anyway?

Time going forward


Key Concepts: How do you make a commit
anyway?

Time going forward


4 What is
GitHub?
What is GitHub?
• www.github.com
• Largest web-based git repository hosting
service
• Aka, hosts ‘remote repositories’
• Allows for code collaboration with anyone
online
Octocat!
• Adds extra functionality on top of git
• UI, documentation, bug tracking, feature requests,
pull requests, and more!
What is GitHub?

• Founded in 2008
• Also has an Enterprise
edition for businesses

Octocat!
Centralized VCS
Distributed VCS

You might also like