Git for ages 4 and up
Radim Klaška
Morpht.com & Drupal.cz


Git for ages 4 and up
Michael G. Schwern
Linux.conf.au 2013

Who are you?

I've seen git
- github.com
- cgit.drupalcode.org
- Looked at older versions

I've used git
- maybe used some GUI
- got the code
- made changes
- commited changes
- shared them with coworkers

I fixed a problem
- helped others
- resolved git conflict
- worked with multiple remotes
- probably prefer CLI

Why is it so compliacted
- written by Linus Torvalds in 3 weeks
- then maintained also by other Linux kernel developers
- you need to understand the internals
- really good and simple

These should sound familiar
init
clone
add
commit
branch
merge
status
diff
log
checkout
pull
push
Shortcuts
radimklaska@rku:~ $ cat ~/.gitconfig
[user]
name = Radim Klaska
email = radim@klaska.net
[push]
default = simple
[alias]
st = status
co = checkout
mr = "merge --no-ff"
un = "reset --soft HEAD~"
unn = "reset --hard HEAD"
lg = "log --graph --full-history --all
--pretty=format:'%C(yellow)%h %Cgreen%cd
%Creset - %C(auto)%d%Creset %s %C(cyan)
[%aN %C(yellow)%ae%C(cyan)]%Creset'
--date=format:'%Y-%m-%d %H:%M:%S'"
New repo
git init





git add


git commit





Second commit



Get existing repo
git clone [address]



Seems simple
but we've seen a lot
Complete repo
Binary objects (files)
Staging area
- = "index"
- = "cache"
Commit object
- commit id (= check sum)
- check sum - depends on content
- contains things like
- references to "files"
- references to parent commits
- info about author
- log
- timestamps
- every id is unique
Reference
- HEAD
- master
What does it mean?

History

Branching

Done. Simple.

git checkout


Merging



Fast forward merge
Merging
the dark side
Merge conflicts


















Conflict resolved
Also, not a fast forward merge
--no-ff

Remotes
















Remotes
Keep your fork up to date



Tips
Simple workflow

Oh shit git!

Time traveling is fun
(alone)

Remotes & team workflow
Next time ;-)
Where to go next
Advanced GIT for Developers
by Lorna Jane Mitchell
Advanced Git:
Graphs, Hashes, and Compression, Oh My!
by Matthew McCullough
Questions?
Thank you!
Git for ages 4 and up
By Radim Klaška
Git for ages 4 and up
- 2,410