Slide 1

Slide 1 text

Git Basics The good and the ugly. @davidcoallier - Virtual Git Summit 2012

Slide 2

Slide 2 text

What is Git? Distributed Version Control System @davidcoallier - Virtual Git Summit 2012

Slide 3

Slide 3 text

Running it Walk before you run. @davidcoallier - Virtual Git Summit 2012

Slide 4

Slide 4 text

Download it. http://bit.ly/git-get @davidcoallier - Virtual Git Summit 2012

Slide 5

Slide 5 text

Principles Built on certain principles @davidcoallier - Virtual Git Summit 2012

Slide 6

Slide 6 text

The Objects blob, commit, tag, tree. @davidcoallier - Virtual Git Summit 2012

Slide 7

Slide 7 text

The Blob Used to store file data. @davidcoallier - Virtual Git Summit 2012

Slide 8

Slide 8 text

The Tree A directory of blobs and trees. @davidcoallier - Virtual Git Summit 2012

Slide 9

Slide 9 text

The Commit A trees’ point in time. @davidcoallier - Virtual Git Summit 2012

Slide 10

Slide 10 text

@davidcoallier - Virtual Git Summit 2012

Slide 11

Slide 11 text

The Tag Tag it, release, done. @davidcoallier - Virtual Git Summit 2012

Slide 12

Slide 12 text

Let’s just use it. git init @davidcoallier - Virtual Git Summit 2012

Slide 13

Slide 13 text

Workflows Out of 2, we’ll cover the simplest. @davidcoallier - Virtual Git Summit 2012

Slide 14

Slide 14 text

The Working Directory Your files. @davidcoallier - Virtual Git Summit 2012

Slide 15

Slide 15 text

The Index Some sort of staging. http://bit.ly/git-index @davidcoallier - Virtual Git Summit 2012

Slide 16

Slide 16 text

The HEAD Your last commit. @davidcoallier - Virtual Git Summit 2012

Slide 17

Slide 17 text

Get on stage $ git add Filename @davidcoallier - Virtual Git Summit 2012

Slide 18

Slide 18 text

Get on your HEAD $ git commit -m “Added file.” @davidcoallier - Virtual Git Summit 2012

Slide 19

Slide 19 text

Push it real good $ git push origin master @davidcoallier - Virtual Git Summit 2012

Slide 20

Slide 20 text

Failed push! You have no “REMOTE” @davidcoallier - Virtual Git Summit 2012

Slide 21

Slide 21 text

Remotes Remote Repository Aliases @davidcoallier - Virtual Git Summit 2012

Slide 22

Slide 22 text

Remotes Github @davidcoallier - Virtual Git Summit 2012

Slide 23

Slide 23 text

Remotes $ git remote add $ git push /master @davidcoallier - Virtual Git Summit 2012

Slide 24

Slide 24 text

Branches The single most important thing. @davidcoallier - Virtual Git Summit 2012

Slide 25

Slide 25 text

@davidcoallier - Virtual Git Summit 2012 master feature-X branch merge

Slide 26

Slide 26 text

Check it out. Work on a “tree” @davidcoallier - Virtual Git Summit 2012

Slide 27

Slide 27 text

Work on a feature $ git checkout -b user-acl @davidcoallier - Virtual Git Summit 2012

Slide 28

Slide 28 text

Master work $ git checkout master @davidcoallier - Virtual Git Summit 2012

Slide 29

Slide 29 text

Work on moar feature $ git checkout -b moar @davidcoallier - Virtual Git Summit 2012

Slide 30

Slide 30 text

$ git status @davidcoallier - Virtual Git Summit 2012

Slide 31

Slide 31 text

Staying up to date Sync with your remotes @davidcoallier - Virtual Git Summit 2012

Slide 32

Slide 32 text

Don’t use pull Fetch and Merge $ git fetch @davidcoallier - Virtual Git Summit 2012

Slide 33

Slide 33 text

So you broke it. Real life does happen. @davidcoallier - Virtual Git Summit 2012

Slide 34

Slide 34 text

Replace a File $ git checkout -- <file> @davidcoallier - Virtual Git Summit 2012

Slide 35

Slide 35 text

Replace All $ git fetch origin $ git reset --hard origin/master @davidcoallier - Virtual Git Summit 2012

Slide 36

Slide 36 text

You can now init, add, commit, push, branch, manage remotes, push to remote, reset hard. @davidcoallier - Virtual Git Summit 2012

Slide 37

Slide 37 text

Too lazy! All I want is to contribute to open source. @davidcoallier - Virtual Git Summit 2012

Slide 38

Slide 38 text

Let’s try it. Do we have time? Let’s demo. @davidcoallier - Virtual Git Summit 2012

Slide 39

Slide 39 text

Workflows Forks, branches, pull requests. @davidcoallier - Virtual Git Summit 2012

Slide 40

Slide 40 text

Tips Little bits and bobs. @davidcoallier - Virtual Git Summit 2012

Slide 41

Slide 41 text

git show Show me my commit. @davidcoallier - Virtual Git Summit 2012

Slide 42

Slide 42 text

git show :/bug git show smart. @davidcoallier - Virtual Git Summit 2012

Slide 43

Slide 43 text

Install Hub It’ll teach you. http://defunkt.io/hub/ @davidcoallier - Virtual Git Summit 2012

Slide 44

Slide 44 text

HALP! http://bit.ly/git-help @davidcoallier - Virtual Git Summit 2012