Version Control With Git
by
Pascal Precht
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
Version Control with @PascalPrecht
Slide 2
Slide 2 text
@PascalPrecht • Web Application Developer • Speaker • Evangelist • Vim Lover
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
git-scm.com
Slide 5
Slide 5 text
git-scm.com/book
Slide 6
Slide 6 text
gitref.org
Slide 7
Slide 7 text
gitimmersion.com
Slide 8
Slide 8 text
What is Git?
Slide 9
Slide 9 text
What is Git? • VCS (Version Control System) • Open Source • Fully Distributed • Local • Fast!
Slide 10
Slide 10 text
Git Basics
Slide 11
Slide 11 text
Centralized VCS http://git-scm.com/figures/18333fig0102-tn.png
Slide 12
Slide 12 text
Distributed VCS http://git-scm.com/figures/18333fig0103-tn.png
Slide 13
Slide 13 text
Working offline • Performing a diff • Viewing file history • Committing changes • Merging branches • Obtaining other revisions of a file • Switching branches
Slide 14
Slide 14 text
Diffs http://git-scm.com/figures/18333fig0104-tn.png
Slide 15
Slide 15 text
Snapshots http://git-scm.com/figures/18333fig0105-tn.png
Slide 16
Slide 16 text
Integrity • Content is check-summed before it is stored • SHA-1 Hash (40 hexadecimal characters)
Slide 17
Slide 17 text
24b9223f34a90c90353359dd649e99e23246ab2c
Slide 18
Slide 18 text
The Flow http://git-scm.com/figures/18333fig0106-tn.png
Slide 19
Slide 19 text
Let’s see how it works (demo)
Slide 20
Slide 20 text
Configuration
Slide 21
Slide 21 text
Configuration • git config --global user.name “Pascal Precht” • git config --global user.email “
[email protected]
”
Slide 22
Slide 22 text
The Flow
Slide 23
Slide 23 text
The Flow • init / clone • edit • add • status / diff • commit
Slide 24
Slide 24 text
The Flow http://git-scm.com/figures/18333fig0201-tn.png
Slide 25
Slide 25 text
Getting a repo • git init • creates a new repository • git clone • clones an existing repository (via ssh, http, file, git ...)
Slide 26
Slide 26 text
Commit anatomy http://git-scm.com/figures/18333fig0301-tn.png
Slide 27
Slide 27 text
Branching
Slide 28
Slide 28 text
http://git-scm.com/figures/18333fig0301-tn.png
Slide 29
Slide 29 text
http://git-scm.com/figures/18333fig0302-tn.png
Slide 30
Slide 30 text
http://git-scm.com/figures/18333fig0303-tn.png
Slide 31
Slide 31 text
git branch testing
Slide 32
Slide 32 text
http://git-scm.com/figures/18333fig0304-tn.png
Slide 33
Slide 33 text
http://git-scm.com/figures/18333fig0305-tn.png
Slide 34
Slide 34 text
git checkout testing
Slide 35
Slide 35 text
http://git-scm.com/figures/18333fig0306-tn.png
Slide 36
Slide 36 text
http://git-scm.com/figures/18333fig0307-tn.png
Slide 37
Slide 37 text
git checkout master
Slide 38
Slide 38 text
http://git-scm.com/figures/18333fig0308-tn.png
Slide 39
Slide 39 text
http://git-scm.com/figures/18333fig0309-tn.png
Slide 40
Slide 40 text
Merging
Slide 41
Slide 41 text
http://git-scm.com/figures/18333fig0310-tn.png
Slide 42
Slide 42 text
http://git-scm.com/figures/18333fig0311-tn.png
Slide 43
Slide 43 text
http://git-scm.com/figures/18333fig0312-tn.png
Slide 44
Slide 44 text
http://git-scm.com/figures/18333fig0313-tn.png
Slide 45
Slide 45 text
git merge hotfix
Slide 46
Slide 46 text
Fast Forward Merge
Slide 47
Slide 47 text
http://git-scm.com/figures/18333fig0314-tn.png
Slide 48
Slide 48 text
http://git-scm.com/figures/18333fig0315-tn.png
Slide 49
Slide 49 text
git merge iss53
Slide 50
Slide 50 text
Three-Way Merge
Slide 51
Slide 51 text
http://git-scm.com/figures/18333fig0316-tn.png
Slide 52
Slide 52 text
http://git-scm.com/figures/18333fig0317-tn.png
Slide 53
Slide 53 text
Remotes
Slide 54
Slide 54 text
Demo
Slide 55
Slide 55 text
Bare Repositories • Not a working directory • May exist on the same maschine • push / pull
Slide 56
Slide 56 text
git pull [remote] [branchname]
Slide 57
Slide 57 text
git fetch [remote] followed by git merge FETCH_HEAD Behind the scenes
Slide 58
Slide 58 text
Who uses Git?
Slide 59
Slide 59 text
http://www.linux-mag.com/s/i/topics/tux.jpg
Slide 60
Slide 60 text
http://assets.warpspire.com/images/github/octocat.png
Slide 61
Slide 61 text
Thanks! Twitter: @PascalPrecht Blog: hopelessart.com Slides: speakerdeck.com/u/pascalprecht/p/version- control-with-git