SlideShare a Scribd company logo
Introduction to
	 	 Git
at the Transylvania JUG
by Matthew McCullough
Matthew McCullough
@matthewmccull
Git Going for the Transylvania JUG
Git
“Cool kids” version control system
Open Source
bash scripts ☛ C code
≉
Git Going for the Transylvania JUG
Git
-noun
British Slang. an unpleasant
or contemptible person
-Oxford English Dictionary
“
”
Git Going for the Transylvania JUG
I'm an egotistical bastard, and
I name all my projects
after myself. First Linux,
now git.
-Linus Torvalds
“
”
➡How to commit, branch and tag
➡How Git implements a new commit-referencing syntax
➡How to pull and push changes between repositories
➡How to set up a Git repository
➡How to set up a Git repository
Git Going for the Transylvania JUG
> cd myproj
> git init
Initialized empty Git repository
in /stuff/myproj/.git/
➡How to set up a Git repository
Git Going for the Transylvania JUG
➡How to commit, branch and tag
➡How Git implements a new commit-referencing syntax
➡How to pull and push changes between repositories
➡How to set up a Git repository
➡How to commit, branch and tag
Git Going for the Transylvania JUG
➡How to commit
> git add <FILENAME>
Local
Branches
Remote
Branches
Upstream
Branches
Working
Copy
commit
> git status
# On branch master
# Initial commit
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
# new file: myfile.txt
> git commit -m”<MESSAGE>”
[master (root-commit) 498cc44] My first commit
1 files changed, 5 insertions(+), 0 deletions(-)
create mode 100644 myfile.txt
➡How to branch
> git branch <BRANCHNAME>
Local
Branches
Remote
Branches
Upstream
Branches
Working
Copy
Branches
> git checkout <BRANCHNAME>
Switched to branch 'mybranch'
Local
Branches
Remote
Branches
Upstream
Branches
Working
Copy
Branches
Insane branch count?
Local Remote Upstream
Integ
Product
Integ
Product
Integ
Product
Local Remote Upstream
Integ
Product
Integ
Product
Integ
Product
Idea
Story
Feature FeatureFeature
Local Remote Upstream
Integ
Product
Integ
Product
Integ
Product
Idea
Story
Feature FeatureFeature
➡How to tag
> git tag <TAGNAME>
> git tag -a <TAGNAME> -m”<MESSAGE>”
➡How to commit, branch and tag
Git Going for the Transylvania JUG
➡How to commit, branch and tag
➡How Git implements a new commit-referencing syntax
➡How to pull and push changes between repositories
➡How to set up a Git repository
➡How Git implements a new commit-referencing syntax
Git Going for the Transylvania JUG
9AB223D28B1AA46EF1780B22F304982E39872C34
<html>
<body>
<p>This is a test</p>
<img src="http://ai.com/icon.gif">
</body>
</html>
> git log
commit 0fc27c73dea82a0576c6cf262fb517d24e75a223
Author: Matthew McCullough <matthewm@ambientideas.com>
Date: Mon Oct 24 10:42:20 2013 +0300
Performance enhancement of calc engine
commit 7d946e814233814b1780ed1035da271cbb37206d
Author: Matthew McCullough <matthewm@ambientideas.com>
Date: Mon Oct 24 12:59:41 2013 +0300
Translation to Esperanto
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
Hashes
tree
tree: 7e8b1 web
blob: 9ab16 index.html
a10b3
tree
blob: 8d162 logo.jpg
blob: 51d22 draw.js
7e8b1commit
tree: a10b3
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the web content.
c67db
blob<html>
<body></body>
</html>
9ab16
blob
//Some more javascript
var renderSize
51d22
blob
7D 8D B3 7F BD 12 9F E9
7B 78 9D 3F 5C A6 72 CB
8d162
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
v1 v2 v3
commit
tree: 9a87b
parent: nil
author: Fird
committer: Matthew
message:
Major refactoring
of the Javascript rendering
engine.
c67db
commit
tree: b22c1
parent: c67db
author: Tim
committer: Fird
message:
Minor update to HTML
9bd21
commit
tree: b22c1
parent: 9bd21
author: Johnny
committer: Joe
message:
New language transations
1c2d7
RELEASE_1.0 HEAD
bug979branch
commit
c67db
commit
9bd21
commit
1c2d7
commit
8c2d1
commit
1bdcd
commit
2daa1
RELEASE_1.0 HEAD
bug979branch
commit
c67db
commit
9bd21
commit
1c2d7
commit
8c2d1
commit
1bdcd
commit
2daa1
RELEASE_1.0 HEAD
bug979branch
commit
c67db
commit
9bd21
commit
1c2d7
commit
8c2d1
commit
1bdcd
commit
2daa1
RELEASE_1.0 HEAD
bug979branch
commit
c67db
commit
9bd21
commit
1c2d7
commit
8c2d1
commit
1bdcd
commit
2daa1
RELEASE_1.0 HEAD
bug979branch
commit
c67db
commit
9bd21
commit
1c2d7
commit
8c2d1
commit
1bdcd
commit
2daa1
RELEASE_1.0 HEAD
bug979branch
commit
c67db
commit
9bd21
commit
1c2d7
commit
8c2d1
commit
1bdcd
commit
2daa1
➡How Git implements a new commit-referencing syntax
Git Going for the Transylvania JUG
➡How to commit, branch and tag
➡How Git implements a new commit-referencing syntax
➡How to pull and push changes between repositories
➡How to set up a Git repository
➡How to pull and push changes between repositories
Git Going for the Transylvania JUG
> git clone http://this.com/myproj.git
> cd myproj
Cloning into hellogitworld...
remote: Counting objects: 3871, done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 3871 (delta 51), reused 3853 (delta 36)
Receiving objects: 100% (3871/3871), 297.88 KiB | 35 KiB/s, done.
Resolving deltas: 100% (51/51), done.
Local
Branches
Remote
Branches
Upstream
Branches
Working
Copy
merge merge
commit
fetch
push
clone clone clone
push
pull pull pull
Central
Repo
Centralized
Blessed
Repo
Dictatorship
Certified
Repo
Development
Repo
IntegrationManaged
Continuous
Integration
Server
➡How to pull and push changes between repositories
Git Going for the Transylvania JUG
Introduction to
	 	 Git & Gerrit
at the Transylvania JUG
by Matthew McCullough

More Related Content

PDF
Git and GitHub at the San Francisco JUG
PDF
Git Graphs, Hashes, and Compression, Oh My
PDF
Migrating from Subversion to Git and GitHub
PDF
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
PDF
Intro to Git and GitHub
PDF
Git and github - Verson Control for the Modern Developer
PDF
Http2.0 Guide 2013-08-14 #http2study
PPTX
Introduction to Git / Github
Git and GitHub at the San Francisco JUG
Git Graphs, Hashes, and Compression, Oh My
Migrating from Subversion to Git and GitHub
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Intro to Git and GitHub
Git and github - Verson Control for the Modern Developer
Http2.0 Guide 2013-08-14 #http2study
Introduction to Git / Github

What's hot (20)

PDF
Campus HTC at #TechEX15
PDF
Did you git yet?
PDF
Are your v8 garbage collection logs speaking to you?Joyee Cheung -Alibaba Clo...
TXT
Tec doc catalog 2q 2016 full
PDF
Gradle in 45min
PDF
Groovy on the shell
PDF
Git training
PDF
That's (g)it! par Sébastien Dawans CETIC
PPT
Escaping the Sandbox Denver HTML5 2013-05-13
PPTX
Android presentation - Gradle ++
PDF
Ddev workshop t3dd18
PDF
Desarrollo web backend: Spring Boot, MongoDB y Azure
PDF
Let the contribution begin (EST futures)
PDF
Capistrano deploy Magento project in an efficient way
PDF
Tenha um domínio do regedit do windows
PDF
Deep dark-side of git: How git works internally
PDF
An Introduction to Gradle for Java Developers
PDF
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐
KEY
Git and GitHub
PDF
Git and Testing
Campus HTC at #TechEX15
Did you git yet?
Are your v8 garbage collection logs speaking to you?Joyee Cheung -Alibaba Clo...
Tec doc catalog 2q 2016 full
Gradle in 45min
Groovy on the shell
Git training
That's (g)it! par Sébastien Dawans CETIC
Escaping the Sandbox Denver HTML5 2013-05-13
Android presentation - Gradle ++
Ddev workshop t3dd18
Desarrollo web backend: Spring Boot, MongoDB y Azure
Let the contribution begin (EST futures)
Capistrano deploy Magento project in an efficient way
Tenha um domínio do regedit do windows
Deep dark-side of git: How git works internally
An Introduction to Gradle for Java Developers
Coscup x ruby conf tw 2021 google cloud buildpacks 剖析與實踐
Git and GitHub
Git and Testing
Ad

Viewers also liked (6)

KEY
Survey Of Open Source
PDF
Encryption Boot Camp on the JVM
PDF
OpenSolaris Overview
PDF
Open Source Debugging v1.3.2
PDF
An Intro to Hadoop
PDF
Advanced Encryption on the JVM v0.2.8
Survey Of Open Source
Encryption Boot Camp on the JVM
OpenSolaris Overview
Open Source Debugging v1.3.2
An Intro to Hadoop
Advanced Encryption on the JVM v0.2.8
Ad

Similar to Git Going for the Transylvania JUG (20)

PDF
Tech thursdays / GIT
PDF
Git For The Android Developer
PPTX
Introduction to git, a version control system
PDF
Git in action
PPT
Effective Git with Eclipse
PDF
Git internals
ODP
Practical git for developers
PDF
What the git? - SAP Inside Track Munich 2016
PDF
Git session day 1
PDF
Understanding git
PDF
[PUBLIC] Git – Concepts and Workflows.pdf
ODP
Introduction to Git (Greg Lonnon)
PDF
Intro to Git and GitHub
PDF
Design Systems + Git = Success - Clarity Conference 2018
PPTX
Git and GitHub Workshop of GDG on Campus UNSTPB
PDF
Git basics with notes
PDF
Introduction to git, an efficient distributed version control system
PDF
Git tutorial
PPTX
Git_new.pptx
PPT
Tech thursdays / GIT
Git For The Android Developer
Introduction to git, a version control system
Git in action
Effective Git with Eclipse
Git internals
Practical git for developers
What the git? - SAP Inside Track Munich 2016
Git session day 1
Understanding git
[PUBLIC] Git – Concepts and Workflows.pdf
Introduction to Git (Greg Lonnon)
Intro to Git and GitHub
Design Systems + Git = Success - Clarity Conference 2018
Git and GitHub Workshop of GDG on Campus UNSTPB
Git basics with notes
Introduction to git, an efficient distributed version control system
Git tutorial
Git_new.pptx

More from Matthew McCullough (20)

PDF
Using Git and GitHub Effectively at Emerge Interactive
PDF
All About GitHub Pull Requests
PDF
Adam Smith Builds an App
PDF
Git's Filter Branch Command
PDF
Finding Things in Git
PDF
Git and GitHub for RallyOn
PDF
Git Notes and GitHub
PDF
Build Lifecycle Craftsmanship for the Transylvania JUG
PDF
Transylvania JUG Pre-Meeting Announcements
PDF
Game Theory for Software Developers at the Boulder JUG
PDF
Cascading Through Hadoop for the Boulder JUG
PDF
JQuery Mobile
PDF
R Data Analysis Software
PDF
Please, Stop Using Git
PDF
Dr. Strangedev
PDF
Jenkins for One
PDF
Lean Fluffy Startups
PDF
Finding Clojure
PDF
Groovy-er Desktop Applications With Griffon
PDF
Semantic Rubrication
Using Git and GitHub Effectively at Emerge Interactive
All About GitHub Pull Requests
Adam Smith Builds an App
Git's Filter Branch Command
Finding Things in Git
Git and GitHub for RallyOn
Git Notes and GitHub
Build Lifecycle Craftsmanship for the Transylvania JUG
Transylvania JUG Pre-Meeting Announcements
Game Theory for Software Developers at the Boulder JUG
Cascading Through Hadoop for the Boulder JUG
JQuery Mobile
R Data Analysis Software
Please, Stop Using Git
Dr. Strangedev
Jenkins for One
Lean Fluffy Startups
Finding Clojure
Groovy-er Desktop Applications With Griffon
Semantic Rubrication

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
A Presentation on Artificial Intelligence
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
KodekX | Application Modernization Development
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
A Presentation on Artificial Intelligence
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
20250228 LYD VKU AI Blended-Learning.pptx
KodekX | Application Modernization Development
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf

Git Going for the Transylvania JUG