Git is a distributed version control system (DVCS) that provides three main benefits - distributed development, non-linear workflows, and high performance. It uses a fast, efficient file-based database to track changes to files and supports branching, merging, and many non-linear workflows. Git is commonly used for both open source and private projects, with hosting options like GitHub making collaboration and code sharing easy.
111. Checkin
ckin
kin
in
Chec
kin
he
ck
ec
C
he
in
in
Ch
C
ck k
C he
h ec
kin C
ec
ec kin
Delta storage gets slower Ch the
Ch
as
history of a file gets longerin
Checkin
Check
128. ‣ Commits only what is added to the index.
‣ Opportunity to rewrite history locally.
‣ Provides time to change your mind.
‣ Selectively share with other repos.
131. Remote
is like a special
Stash
Repo
git clone
git checkout
edit experiment files
git stash
test buggy files
Index git stash apply
Working git add
git commit
git push
132. repo
git clone git://somedomain/myproj.git B uild
cd myproj.git
dex
pda te in
git checkout master U
echo ‘//Comments’ >> ClassOne.java or king
echo ‘//Thoughts’ >> ClassTwo.java E dit w
to i ndex
git add ClassOne.java Add epo
ave to r
git commit -m’Added comments’ S
st ash
git stash Pus h to
139. Rebase for Clarity
‣Fast forwards the “side” branch.
‣Reposition your feature branch’s start point.
‣See “how trunk will act” before you merge.
‣Makes for simpler merge graphs.
‣Cleaner history than a merge.
140. ard Bra
d
n e
ta g
a32 n ch
S er
Master/Trunk/MainLatest
d19
M 2e2
e69
8b3
erge
M
9f1
141. Bra
sing a32
n ch
ba
Master/Trunk/MainLatest
Re 2e2 d19
8b3
e69
146. Serving It Up
Protocols
‣ GIT
‣ SSH
‣ SCP
‣ Local file system
‣ SAMBA
‣ HTTP
‣ WebDAV
‣ rsync
147. aem on
git clone git://somehost.org/myproj.git g it d
git clone mccm06@somehost.org:myproj.git SSH
git clone http://somehost.org/myproj.git H TTP
sys tem
git clone ~/work/myproj.git File
rk d rive
Ne two
git clone z:someservermyproj.git
148. Serving It Up
‣ git instaweb. Built in, read-only, HTTP.
‣ git daemon. Custom socket language.
‣ gitosis. Easy permissions control.
‣ github. Open source & private repos.
‣ ssh. OS controlled permissions.
163. Twitter
@matthewmccull Matthew
Blog
http://www.ambientideas.com/blog
sidebar has all my social media links
Email
matthewm@ambientideas.com
GitHub
http://github.com/matthewmccullough