SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Steve Smith
@tarkasteve
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 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 yours?
@tarkasteve
Rebase
It’s a way to replay commits,
one by one, on top of a branch
master
feature
@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
@tarkasteve
Out of Time
@tarkasteve
commit
tree
content
blob
98ca9..
92ec2.. e43a6..
tree 92ec2..
blob e43a6..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..
…
feature
@tarkasteve
So now we’re samrt!
Understanding Git - GOTO London 2015

Weitere ähnliche Inhalte

Was ist angesagt?

Ruby on Rails testing with Rspec
Ruby on Rails testing with RspecRuby on Rails testing with Rspec
Ruby on Rails testing with RspecBunlong Van
 
Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2nottings
 
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
 
G*なクラウド 雲のかなたに ショートバージョン
G*なクラウド 雲のかなたに ショートバージョンG*なクラウド 雲のかなたに ショートバージョン
G*なクラウド 雲のかなたに ショートバージョンTsuyoshi Yamamoto
 
Javascript REST with Jester
Javascript REST with JesterJavascript REST with Jester
Javascript REST with JesterMike Bailey
 
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
 
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
 
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
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Tsuyoshi Yamamoto
 
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
 
Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB
Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB
Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB Puppet
 

Was ist angesagt? (20)

Ruby on Rails testing with Rspec
Ruby on Rails testing with RspecRuby on Rails testing with Rspec
Ruby on Rails testing with Rspec
 
kRouter
kRouterkRouter
kRouter
 
Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2Puppet camp chicago-automated_testing2
Puppet camp chicago-automated_testing2
 
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
 
G*なクラウド 雲のかなたに ショートバージョン
G*なクラウド 雲のかなたに ショートバージョンG*なクラウド 雲のかなたに ショートバージョン
G*なクラウド 雲のかなたに ショートバージョン
 
Javascript REST with Jester
Javascript REST with JesterJavascript REST with Jester
Javascript REST with Jester
 
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?
 
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
 
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
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察
 
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
 
Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB
Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB
Puppet Camp Melbourne 2014: Node Collaboration with PuppetDB
 

Andere mochten auch

OpenWhisk introduction public
OpenWhisk introduction publicOpenWhisk introduction public
OpenWhisk introduction publicTakehiko Amano
 
Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!Masahiko Hashimoto
 
Node.js 淺談res tful
Node.js 淺談res tfulNode.js 淺談res tful
Node.js 淺談res tfulSimon Su
 
Get Started the server side Swift on server less OpenWhisk
Get Started the server side Swift on server less OpenWhiskGet Started the server side Swift on server less OpenWhisk
Get Started the server side Swift on server less OpenWhiskSimon Sasaki
 
JavaScript and Node.js Fundamentals
JavaScript and Node.js FundamentalsJavaScript and Node.js Fundamentals
JavaScript and Node.js FundamentalsJimmy Guerrero
 

Andere mochten auch (6)

OpenWhisk introduction public
OpenWhisk introduction publicOpenWhisk introduction public
OpenWhisk introduction public
 
Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!
 
About OpenWhisk
About OpenWhiskAbout OpenWhisk
About OpenWhisk
 
Node.js 淺談res tful
Node.js 淺談res tfulNode.js 淺談res tful
Node.js 淺談res tful
 
Get Started the server side Swift on server less OpenWhisk
Get Started the server side Swift on server less OpenWhiskGet Started the server side Swift on server less OpenWhisk
Get Started the server side Swift on server less OpenWhisk
 
JavaScript and Node.js Fundamentals
JavaScript and Node.js FundamentalsJavaScript and Node.js Fundamentals
JavaScript and Node.js Fundamentals
 

Ähnlich wie Understanding Git - GOTO London 2015

Six3 Getting Git
Six3 Getting GitSix3 Getting Git
Six3 Getting GitDaniel Cox
 
Git Tutorial Yang Yang
Git Tutorial Yang YangGit Tutorial Yang Yang
Git Tutorial Yang YangYang Yang
 
Scaling Git - Stefan Saasen
Scaling Git - Stefan SaasenScaling Git - Stefan Saasen
Scaling Git - Stefan SaasenAtlassian
 
Git: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commandsGit: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commandsth507
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHubLucas Videla
 
New Views on your History with git replace
New Views on your History with git replaceNew Views on your History with git replace
New Views on your History with git replaceChristian Couder
 
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: 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
 
Tracking Huge Files with Git LFS
Tracking Huge Files with Git LFSTracking Huge Files with Git LFS
Tracking Huge Files with Git LFSAtlassian
 
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
 
Gitting It Under (Version) Control
Gitting It Under (Version) ControlGitting It Under (Version) Control
Gitting It Under (Version) Controlmobiledevnj
 
Dive into .git
Dive into .gitDive into .git
Dive into .gitnishio
 
Understanding GIT
Understanding GITUnderstanding GIT
Understanding GIThybr1s
 
GIT rozproszony system kontroli wersji
GIT rozproszony system kontroli wersjiGIT rozproszony system kontroli wersji
GIT rozproszony system kontroli wersji3camp
 

Ähnlich wie Understanding Git - GOTO London 2015 (20)

Six3 Getting Git
Six3 Getting GitSix3 Getting Git
Six3 Getting Git
 
How git works
How git works  How git works
How git works
 
Git Tutorial Yang Yang
Git Tutorial Yang YangGit Tutorial Yang Yang
Git Tutorial Yang Yang
 
git internals
git internalsgit internals
git internals
 
Scaling Git - Stefan Saasen
Scaling Git - Stefan SaasenScaling Git - Stefan Saasen
Scaling Git - Stefan Saasen
 
Git: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commandsGit: An introduction of plumbing and porcelain commands
Git: An introduction of plumbing and porcelain commands
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
 
New Views on your History with git replace
New Views on your History with git replaceNew Views on your History with git replace
New Views on your History with git replace
 
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 in action
Git in actionGit in action
Git in action
 
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
 
Working with Git
Working with GitWorking with Git
Working with Git
 
Tracking Huge Files with Git LFS
Tracking Huge Files with Git LFSTracking Huge Files with Git LFS
Tracking Huge Files with Git LFS
 
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
 
Gitting It Under (Version) Control
Gitting It Under (Version) ControlGitting It Under (Version) Control
Gitting It Under (Version) Control
 
Dive into .git
Dive into .gitDive into .git
Dive into .git
 
Git internals
Git internalsGit internals
Git internals
 
Understanding GIT
Understanding GITUnderstanding GIT
Understanding GIT
 
Gittalk
GittalkGittalk
Gittalk
 
GIT rozproszony system kontroli wersji
GIT rozproszony system kontroli wersjiGIT rozproszony system kontroli wersji
GIT rozproszony system kontroli wersji
 

Mehr von Steve Smith

Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016Steve Smith
 
Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bambooSteve Smith
 
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
 
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
 
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
 

Mehr von Steve Smith (13)

Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016Continuous talk, AnsibleFest London 2016
Continuous talk, AnsibleFest London 2016
 
Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bamboo
 
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
 
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
 
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
 

Kürzlich hochgeladen

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Understanding Git - GOTO London 2015