SlideShare a Scribd company logo
1 of 52
Download to read offline
@tarkasteve#Voxxed
Be the .txt you seek:
Understanding Git
STEVE SMITH • DEVOPS ADVOCATE • ATLASSIAN • @TARKASTEVE
Be the .txt you seek:
Understanding
@tarkasteve
It's easy, it's just a directed acyclic graph!
If I hear that one more time I may have to
punch something!
Emma Jane Hogbin Westby, Git-Merge 2015
”“
@tarkasteve
@tarkasteve
@tarkasteve
If that doesn't fix it, git.txt contains the
phone number of a friend of mine who
understands git. Just wait through a few
minutes of 'It's really pretty simple, just think
of branches as...' and eventually you'll learn
the commands that will fix everything. ”
“
@tarkasteve Carlsberg
internals
@tarkasteve
Blobs, trees and
commits
@tarkasteve
cba0a..
commit
tree
content
blob
content
blob
content
blob
98ca9..
92ec2..
5b1d3..
911e7..
cba0a..
tree 92ec2..
blob 5b1d3..
blob 911e7..
blob
author
committer
README
LICENSE
test.rb
size
size
size
size
size
parent
data model
b34ca..
@tarkasteve
$> git init
$> tree .git/objects
.git/objects
!"" info
#"" pack
2 directories
@tarkasteve
$> touch some-file.txt
$> git add some-file.txt
@tarkasteve
$> tree .git/objects
.git/objects
!"" e6
$   #"" 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
!"" info
#"" pack
3 directories, 1 file
zlib compressed
SHA1
@tarkasteve
$> git commit -m "First commit"
@tarkasteve
$> tree .git/objects
.git/objects
!"" 13
$   #"" 1e360ae1a0c08acd18182c6160af6a83e0d22f
!"" 31
$   #"" 995f2d03aa31ee97ee2e814c9f0b0ffd814316
!"" e4
$   #"" 3a6ac59164adadac854d591001bbb10086f37d
!"" info
#"" pack
5 directories, 3 files
Blob
Tree
Commit
@tarkasteve
commit
tree
content
blob
98ca9..
92ec2.. e43a6..
tree 92ec2..
blob e63a6..author
committer
some-fi..
size
size
size
parent
data model
ssmith
@tarkasteve
data model
cba0a..
tree
blob 5b1d3..
blob 911e7..
blob
READM
LICENS
test.rb
size
commit
8efc8…
tree c4d..
author
message: 1st!
size
parent
…
cba0a..
tree
blob 5b1d3..
blob 911e7..
blob
READM
LICENS
test.rb
size
commit
bc5e7…
tree c4d..
author
message: Update!
size
parent 8efc8..
…
cba0a..
tree
blob 5b1d3..
blob 911e7..
blob
READM
LICENS
test.rb
size
commit
74f2c…
tree c4d..
author
message: More!
size
parent bc5e7..
…
@tarkasteve
$> echo "// Comment" >> some-file.txt
$> git add some-file.txt
@tarkasteve
$> tree .git/objects
.git/objects
!"" 13
$   #"" 1e360ae1a0c08acd18182c6160af6a83e0d22f
!"" 31
$   #"" 995f2d03aa31ee97ee2e814c9f0b0ffd814316
!"" c1
$   #"" 9e6823e34980033917b6427f3e245ce2102e6e
!"" e4
$   #"" 3a6ac59164adadac854d591001bbb10086f37d
6 directories, 4 files
Entirely new BLOB
@tarkasteve
Refs and Branches
And Tags
@tarkasteve
What is a ‘ref’?
A ref is just a pointer to an
object
m
aster
@tarkasteve
What is a ‘branch’?
A branch is divergence from a
common point, and ref to a commit,
the “HEAD”
feature
m
aster
@tarkasteve
What is a ‘tag’?
A tag is just special ref used a mark
a commit in the history
release
m
aster
@tarkasteve
$> git tag a-tag -m”A tag”
$> git branch a-branch
$> tree .git/refs/
.git/refs/
!"" heads
$   !"" a-branch
$   #"" master
#"" tags
#"" a-tag
$> cat .git/refs/heads/a-branch
c13e27cdfd15c5acdcd8b510eefed7be68c41c8e
@tarkasteve
What is a ‘reset’?
Manipulates the branch ‘head’
feature
m
aster
release
$> git reset --hard feature^ # ‘^’ means ‘parent’
@tarkasteve
$> git reflog
0c35628 HEAD@{1}: reset: moving to HEAD^
6cc6637 HEAD@{2}: commit: Add B
0c35628 HEAD@{3}: merge: Merge made by the 'recursive' strategy.
e0c0d65 HEAD@{4}: cherry-pick: A
80bb854 HEAD@{5}: checkout: moving from alpha to master
5044136 HEAD@{6}: commit: A
80bb854 HEAD@{7}: checkout: moving from master to alpha
80bb854 HEAD@{8}: commit (initial): 1
Reflog keeps a history
(Only 90 days by default though!)
@tarkasteve
Keeping things
clean
@tarkasteve
What is a ‘gc’?
Orphaned objects are eligible for removal
$> git reset feature^ # ‘^’ means ‘parent’
feature
m
aster
release
$> git gc --prune=all
@tarkasteve
PackfileLoose Objects
1. zlib compressed
2. Delta encoded
GC also packs objects
@tarkasteve
$> tree .git/objects
.git/objects
!"" info
$   #"" packs
#"" pack
!"" pack-7475314b451a882d77b1535d215def8bad0f4306.idx
#"" pack-7475314b451a882d77b1535d215def8bad0f4306.pack
2 directories, 3 files
merge
@tarkasteve
What is a merge?
M
Merge commit
master
feature
merges keep the context of
the feature’s commits
feature
m
aster
@tarkasteve
$> git cat-file 3680d8c8fd182f97cb0e75045e2fed5c7b7613ed
tree f362c42032aff677c1a09c3f070454df5b411239
parent 49a906f5722ad446a131778cea52e3fda331b706
parent bd1174cd0f30fe9be9efdd41dcd56256340f230e
author Marcus Bertrand <mbertrand@atlassian.com> 1409002123 -0700
committer Marcus Bertrand <mbertrand@atlassian.com> 1409002123 -0700
Merge branch 'foo/mybranch'
Anatomy of a merge
@tarkasteve
m
aster
feature
What is a fast-forward merge?
master
It will just shift the HEAD tag
feature
@tarkasteve
What are ‘merge strategies’?
git has breadth of choice on
how to merge changes!
recursiveresolve octopus
subtreeours custom?
@tarkasteve
feature
Rebase
It’s a way to replay commits,
one by one, on top of a branch
master
feature
m
aster
@tarkasteve
Getting out of trouble
@tarkasteve
reset —hard
—hard removes all staged and
working changes!
feature
m
aster
$> git reset --hard feature^ # ‘^’ means ‘parent’
ohshit
@tarkasteve
$> git reflog
0c35628 HEAD@{1}: reset: moving to HEAD^
6cc6637 HEAD@{2}: commit: Add B
0c35628 HEAD@{3}: merge: Merge made by the 'recursive' strategy.
e0c0d65 HEAD@{4}: cherry-pick: A
80bb854 HEAD@{5}: checkout: moving from alpha to master
5044136 HEAD@{6}: commit: A
80bb854 HEAD@{7}: checkout: moving from master to alpha
80bb854 HEAD@{8}: commit (initial): 1
Reflog!
@tarkasteve
Reflog+Reset = Redo
Reset back to our commit!
feature
m
aster
$> git reset --hard 6cc6637
@tarkasteve
Rebase Broke The Build!
m
aster
feature
@tarkasteve
Fix with rewind/replay
m
aster
feature
Reflog to reset.
rebase --exec to test each step.
$> git rebase master --exec “make test”
@tarkasteve
Fix in place: bisect
m
aster
feature
$> git bisect start
$> git bisect good master
$> git bisect run make test
bisect
start
© http://www.amigosdosbichos.org/
Powers of invisibility
@tarkasteve
Hiding files in Git
m
aster
feature
hidden
@tarkasteve
Hiding files in Git
hidden
$> git hash-object -w hidden.txt
929cb9f0f8bde8e8b9dc4a69cf3459d2326191c8
$> git tag hidden 929cb9f0f8bde8e8b9dc4a69cf3459d2326191c8
@tarkasteve
$> git cat-file -p hidden
Retrieving
Recipe for Poitín
* Boil 5 gallons of water and pour it over a mix of ten pounds of
rolled oats that has had a pound of 6 row barley ground and mixed in.
* Allow this to sit until it is cool enough to add yeast, then add a
dry ale yeast.
* Ferment until dry.
* Double distill in a potstill
* Don't age, drink it white.
@tarkasteve
$ ~/git> git cat-file -p junio-gpg-pub
Actual use…
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUbnV7AAoJELC16IaWr+bLvjYP+wSOG8rp1y77ExHDJQj7HBLm
9PVQIb70tkiBxAGUpVNNbaoJQBuMAgFdT4Baj8CIo2jdzDeeqbjtcdy/XsHZ3IMl
7VRm9cI8Veh5nPc9U3z6XYTMmDhxxSsnCONQECYYFEJ5QGhnwkpOUTDYPRmnghWu
4JSDyWX0RLNXVPZkoP/zwVbv74Exx1Gz24p6fPlc4iETrKNHzzSM07CPKlAmXRHT
Ozh/NXfiE3OZSFDUNKkzHQJHtyFEPpVw/aUIyObvOcSYy6ZxQ+56U9h24D1mW8kY
w8BPdhzQ5d9nB/zpX83/cqsv6IXsK62ls8Qj51MfNM902D0pghVBInjR2xekWx+b
AO5VMaRiC+hgHvyzAM2nXuDfTUssd9ryYIx/plfw0gcKZ41S3HzHTiXYqRqd4O4I
lkFlWL11no7od+T9T2nap5wfdLliQpMxxZFLsqH67LzAvHxg/NjtIMXDxUfo++tV
qBR153FxcJX8AOcQo3zY7WotbmgS+8JPron3XvjXNOlz9HAxR2+orxhEC3pTVfeC
/aEZzs+ub9pV6ZQzVdfHzRZbtiN4Zw2ycW+EoXvlUCwNy72efaBRpKjQl4zJHKfD
LAwljdrenm8X6RjBKd/vPyTPSHx1AtSoXqseVw8Ly+qqoXnhsh2N0Xe2Ozx3D0lk
PtscHvD+diDMRLbLgK/k
=Sxgg
-----END PGP SIGNATURE-----
@tarkasteve
Out of Time
@tarkasteve
cba0a..
commit
tree
content
blob
content
blob
content
blob
98ca9..
92ec2..
5b1d3..
911e7..
cba0a..
tree 92ec2..
blob 5b1d3..
blob 911e7..
blob
author
committer
README
LICENSE
test.rb
size
size
size
size
size
parent
data model
b34ca..
@tarkasteve
data model
cba0a..
tree
blob 5b1d3..
blob 911e7..
blob
READM
LICENS
test.rb
size
commit
8efc8…
tree c4d..
author
message: 1st!
size
parent
…
cba0a..
tree
blob 5b1d3..
blob 911e7..
blob
READM
LICENS
test.rb
size
commit
bc5e7…
tree c4d..
author
message: Update!
size
parent 8efc8..
…
cba0a..
tree
blob 5b1d3..
blob 911e7..
blob
READM
LICENS
test.rb
size
commit
74f2c…
tree c4d..
author
message: More!
size
parent bc5e7..
…
feature
@tarkasteve
So now we’re samrt!
STEVE SMITH • DEVOPS ADVOCATE • ATLASSIAN • @TARKASTEVE
Thank you!

More Related Content

What's hot

Java Boilerplate Busters
Java Boilerplate BustersJava Boilerplate Busters
Java Boilerplate BustersHamletDRC
 
Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10Icinga
 
Big Data Analytics with Google BigQuery. GDG Summit Spain 2014
Big Data Analytics with Google BigQuery. GDG Summit Spain 2014Big Data Analytics with Google BigQuery. GDG Summit Spain 2014
Big Data Analytics with Google BigQuery. GDG Summit Spain 2014javier ramirez
 
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached georgepenkov
 
Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?Pravin Mishra
 
Javascript REST with Jester
Javascript REST with JesterJavascript REST with Jester
Javascript REST with JesterMike Bailey
 
Catalina.2013 03-05
Catalina.2013 03-05Catalina.2013 03-05
Catalina.2013 03-05NX21
 
Puppet: What _not_ to do
Puppet: What _not_ to doPuppet: What _not_ to do
Puppet: What _not_ to doPuppet
 
URL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewriteURL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewriteRich Bowen
 
Java Boilerplate Busters
Java Boilerplate BustersJava Boilerplate Busters
Java Boilerplate BustersHamletDRC
 
Real World Optimization
Real World OptimizationReal World Optimization
Real World OptimizationDavid Golden
 
Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Joe Lambert
 
[Srijan Wednesday Webinar] Rails 5: What's in It for Me?
[Srijan Wednesday Webinar] Rails 5: What's in It for Me?[Srijan Wednesday Webinar] Rails 5: What's in It for Me?
[Srijan Wednesday Webinar] Rails 5: What's in It for Me?Srijan Technologies
 
Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05NX21
 
Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017
Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017
Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017Mike Nakhimovich
 
mod_rewrite
mod_rewritemod_rewrite
mod_rewriteDan Ryan
 

What's hot (20)

Sapphire Gimlets
Sapphire GimletsSapphire Gimlets
Sapphire Gimlets
 
Guice gin
Guice ginGuice gin
Guice gin
 
Java Boilerplate Busters
Java Boilerplate BustersJava Boilerplate Busters
Java Boilerplate Busters
 
Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10Icinga2 Hacking Session 2014-10-10
Icinga2 Hacking Session 2014-10-10
 
Big Data Analytics with Google BigQuery. GDG Summit Spain 2014
Big Data Analytics with Google BigQuery. GDG Summit Spain 2014Big Data Analytics with Google BigQuery. GDG Summit Spain 2014
Big Data Analytics with Google BigQuery. GDG Summit Spain 2014
 
git command
git commandgit command
git command
 
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
Saving The World From Guaranteed APOCALYPSE* Using Varnish and Memcached
 
Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?
 
Javascript REST with Jester
Javascript REST with JesterJavascript REST with Jester
Javascript REST with Jester
 
Catalina.2013 03-05
Catalina.2013 03-05Catalina.2013 03-05
Catalina.2013 03-05
 
Puppet: What _not_ to do
Puppet: What _not_ to doPuppet: What _not_ to do
Puppet: What _not_ to do
 
Validation
ValidationValidation
Validation
 
URL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewriteURL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewrite
 
Java Boilerplate Busters
Java Boilerplate BustersJava Boilerplate Busters
Java Boilerplate Busters
 
Real World Optimization
Real World OptimizationReal World Optimization
Real World Optimization
 
Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018Lumberjack 2 - Supercharging WordPress in 2018
Lumberjack 2 - Supercharging WordPress in 2018
 
[Srijan Wednesday Webinar] Rails 5: What's in It for Me?
[Srijan Wednesday Webinar] Rails 5: What's in It for Me?[Srijan Wednesday Webinar] Rails 5: What's in It for Me?
[Srijan Wednesday Webinar] Rails 5: What's in It for Me?
 
Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05
 
Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017
Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017
Data Loading Made Easy with Mike Nakhimovich DroidCon Italy 2017
 
mod_rewrite
mod_rewritemod_rewrite
mod_rewrite
 

Viewers also liked

DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerSteve Smith
 
Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016Steve Smith
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...Peter Leschev
 
Practical Continuous Deployment, Devoxx UK 2015
Practical Continuous Deployment, Devoxx UK 2015Practical Continuous Deployment, Devoxx UK 2015
Practical Continuous Deployment, Devoxx UK 2015Steve Smith
 
AtlasCamp 2015 Docker continuous integration training
AtlasCamp 2015 Docker continuous integration trainingAtlasCamp 2015 Docker continuous integration training
AtlasCamp 2015 Docker continuous integration trainingSteve Smith
 
Docker, Continuous Integration, and You
Docker, Continuous Integration, and YouDocker, Continuous Integration, and You
Docker, Continuous Integration, and YouAtlassian
 
Continuous Validation - Lean Startup Machine Sydney 2013
Continuous Validation - Lean Startup Machine Sydney 2013Continuous Validation - Lean Startup Machine Sydney 2013
Continuous Validation - Lean Startup Machine Sydney 2013Shihab Hamid
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...Peter Leschev
 
Enterprise Day 2015 - beyond software teams (Atlassian)
Enterprise Day 2015 - beyond software teams (Atlassian)Enterprise Day 2015 - beyond software teams (Atlassian)
Enterprise Day 2015 - beyond software teams (Atlassian)Riada AB
 
Atlassian Q&A - Inside and Out
Atlassian Q&A - Inside and OutAtlassian Q&A - Inside and Out
Atlassian Q&A - Inside and Outcolleenfry
 
Getting and keeping your teams healthy... the Atlassian way
Getting and keeping your teams healthy... the Atlassian wayGetting and keeping your teams healthy... the Atlassian way
Getting and keeping your teams healthy... the Atlassian wayBen Crothers
 
JIRA Keynote Summit 2014
JIRA Keynote Summit 2014JIRA Keynote Summit 2014
JIRA Keynote Summit 2014Atlassian
 
Tools for better storytelling
Tools for better storytellingTools for better storytelling
Tools for better storytellingAtlassian
 
Scaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and BeyondScaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and BeyondAtlassian
 
Inside the Atlassian OnDemand Private Cloud
Inside the Atlassian OnDemand Private CloudInside the Atlassian OnDemand Private Cloud
Inside the Atlassian OnDemand Private CloudAtlassian
 
AtlasCamp 2015: Confluence making your life EASier
AtlasCamp 2015: Confluence making your life EASierAtlasCamp 2015: Confluence making your life EASier
AtlasCamp 2015: Confluence making your life EASierAtlassian
 
Tailoring Confluence for Team Productivity
Tailoring Confluence for Team ProductivityTailoring Confluence for Team Productivity
Tailoring Confluence for Team ProductivityAtlassian
 
Turbo-Charge Your JIRA Service Desk with ITSM & Automation Awesomeness
Turbo-Charge Your JIRA Service Desk with ITSM & Automation AwesomenessTurbo-Charge Your JIRA Service Desk with ITSM & Automation Awesomeness
Turbo-Charge Your JIRA Service Desk with ITSM & Automation AwesomenessAtlassian
 
How Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better ProductsHow Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better ProductsAtlassian
 

Viewers also liked (20)

DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to Docker
 
Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
 
Practical Continuous Deployment, Devoxx UK 2015
Practical Continuous Deployment, Devoxx UK 2015Practical Continuous Deployment, Devoxx UK 2015
Practical Continuous Deployment, Devoxx UK 2015
 
AtlasCamp 2015 Docker continuous integration training
AtlasCamp 2015 Docker continuous integration trainingAtlasCamp 2015 Docker continuous integration training
AtlasCamp 2015 Docker continuous integration training
 
Docker, Continuous Integration, and You
Docker, Continuous Integration, and YouDocker, Continuous Integration, and You
Docker, Continuous Integration, and You
 
CICD by Teerapat
CICD by TeerapatCICD by Teerapat
CICD by Teerapat
 
Continuous Validation - Lean Startup Machine Sydney 2013
Continuous Validation - Lean Startup Machine Sydney 2013Continuous Validation - Lean Startup Machine Sydney 2013
Continuous Validation - Lean Startup Machine Sydney 2013
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
 
Enterprise Day 2015 - beyond software teams (Atlassian)
Enterprise Day 2015 - beyond software teams (Atlassian)Enterprise Day 2015 - beyond software teams (Atlassian)
Enterprise Day 2015 - beyond software teams (Atlassian)
 
Atlassian Q&A - Inside and Out
Atlassian Q&A - Inside and OutAtlassian Q&A - Inside and Out
Atlassian Q&A - Inside and Out
 
Getting and keeping your teams healthy... the Atlassian way
Getting and keeping your teams healthy... the Atlassian wayGetting and keeping your teams healthy... the Atlassian way
Getting and keeping your teams healthy... the Atlassian way
 
JIRA Keynote Summit 2014
JIRA Keynote Summit 2014JIRA Keynote Summit 2014
JIRA Keynote Summit 2014
 
Tools for better storytelling
Tools for better storytellingTools for better storytelling
Tools for better storytelling
 
Scaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and BeyondScaling to 150,000 Builds a Month... and Beyond
Scaling to 150,000 Builds a Month... and Beyond
 
Inside the Atlassian OnDemand Private Cloud
Inside the Atlassian OnDemand Private CloudInside the Atlassian OnDemand Private Cloud
Inside the Atlassian OnDemand Private Cloud
 
AtlasCamp 2015: Confluence making your life EASier
AtlasCamp 2015: Confluence making your life EASierAtlasCamp 2015: Confluence making your life EASier
AtlasCamp 2015: Confluence making your life EASier
 
Tailoring Confluence for Team Productivity
Tailoring Confluence for Team ProductivityTailoring Confluence for Team Productivity
Tailoring Confluence for Team Productivity
 
Turbo-Charge Your JIRA Service Desk with ITSM & Automation Awesomeness
Turbo-Charge Your JIRA Service Desk with ITSM & Automation AwesomenessTurbo-Charge Your JIRA Service Desk with ITSM & Automation Awesomeness
Turbo-Charge Your JIRA Service Desk with ITSM & Automation Awesomeness
 
How Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better ProductsHow Atlassian Uses Analytics to Build Better Products
How Atlassian Uses Analytics to Build Better Products
 

Similar to Understanding git: Voxxed Vienna 2016

Git Tutorial Yang Yang
Git Tutorial Yang YangGit Tutorial Yang Yang
Git Tutorial Yang YangYang Yang
 
Git-ing out of your git messes - Fluent Conf 2017
Git-ing out of  your git messes - Fluent Conf 2017Git-ing out of  your git messes - Fluent Conf 2017
Git-ing out of your git messes - Fluent Conf 2017Katie Sylor-Miller
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Bosstmacwilliam
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainGit Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainLemi Orhan Ergin
 
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlBecky Todd
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use ItDaniel Kummer
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHubLucas Videla
 
もっとgit
もっとgitもっとgit
もっとgitJoe_noh
 
GIT: Content-addressable filesystem and Version Control System
GIT: Content-addressable filesystem and Version Control SystemGIT: Content-addressable filesystem and Version Control System
GIT: Content-addressable filesystem and Version Control SystemTommaso Visconti
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Codemotion
 
Version Control with Git for Beginners
Version Control with Git for BeginnersVersion Control with Git for Beginners
Version Control with Git for Beginnersbryanbibat
 

Similar to Understanding git: Voxxed Vienna 2016 (20)

Git Tutorial Yang Yang
Git Tutorial Yang YangGit Tutorial Yang Yang
Git Tutorial Yang Yang
 
Gittalk
GittalkGittalk
Gittalk
 
Git-ing out of your git messes - Fluent Conf 2017
Git-ing out of  your git messes - Fluent Conf 2017Git-ing out of  your git messes - Fluent Conf 2017
Git-ing out of your git messes - Fluent Conf 2017
 
Get on with git
Get on with gitGet on with git
Get on with git
 
git internals
git internalsgit internals
git internals
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainGit Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it Again
 
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
 
Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
 
もっとgit
もっとgitもっとgit
もっとgit
 
Git internals
Git internalsGit internals
Git internals
 
Git
GitGit
Git
 
Working with Git
Working with GitWorking with Git
Working with Git
 
GIT: Content-addressable filesystem and Version Control System
GIT: Content-addressable filesystem and Version Control SystemGIT: Content-addressable filesystem and Version Control System
GIT: Content-addressable filesystem and Version Control System
 
Git使用
Git使用Git使用
Git使用
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
 
Git in action
Git in actionGit in action
Git in action
 
Git rebase
Git rebaseGit rebase
Git rebase
 
Version Control with Git for Beginners
Version Control with Git for BeginnersVersion Control with Git for Beginners
Version Control with Git for Beginners
 

More from Steve Smith

Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bambooSteve Smith
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014Steve Smith
 
Accessgrid XMPP rationale
Accessgrid XMPP rationaleAccessgrid XMPP rationale
Accessgrid XMPP rationaleSteve Smith
 
Accessgrid XMPP implementation
Accessgrid XMPP implementationAccessgrid XMPP implementation
Accessgrid XMPP implementationSteve Smith
 
Vislab presentation
Vislab presentationVislab presentation
Vislab presentationSteve Smith
 
APAC-05 XMPP AccessGrid presentation
APAC-05 XMPP AccessGrid presentationAPAC-05 XMPP AccessGrid presentation
APAC-05 XMPP AccessGrid presentationSteve Smith
 
Sydgraph presentation 2004
Sydgraph presentation 2004Sydgraph presentation 2004
Sydgraph presentation 2004Steve Smith
 
Devops London 2013 - Opening the inner circle
Devops London 2013 - Opening the inner circleDevops London 2013 - Opening the inner circle
Devops London 2013 - Opening the inner circleSteve Smith
 
Devops London 2013 - Robust systems or, not fucking the customer
Devops London 2013 - Robust systems or, not fucking the customerDevops London 2013 - Robust systems or, not fucking the customer
Devops London 2013 - Robust systems or, not fucking the customerSteve Smith
 

More from Steve Smith (9)

Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bamboo
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014
 
Accessgrid XMPP rationale
Accessgrid XMPP rationaleAccessgrid XMPP rationale
Accessgrid XMPP rationale
 
Accessgrid XMPP implementation
Accessgrid XMPP implementationAccessgrid XMPP implementation
Accessgrid XMPP implementation
 
Vislab presentation
Vislab presentationVislab presentation
Vislab presentation
 
APAC-05 XMPP AccessGrid presentation
APAC-05 XMPP AccessGrid presentationAPAC-05 XMPP AccessGrid presentation
APAC-05 XMPP AccessGrid presentation
 
Sydgraph presentation 2004
Sydgraph presentation 2004Sydgraph presentation 2004
Sydgraph presentation 2004
 
Devops London 2013 - Opening the inner circle
Devops London 2013 - Opening the inner circleDevops London 2013 - Opening the inner circle
Devops London 2013 - Opening the inner circle
 
Devops London 2013 - Robust systems or, not fucking the customer
Devops London 2013 - Robust systems or, not fucking the customerDevops London 2013 - Robust systems or, not fucking the customer
Devops London 2013 - Robust systems or, not fucking the customer
 

Recently uploaded

Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 

Recently uploaded (20)

Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 

Understanding git: Voxxed Vienna 2016