Slide 1

Slide 1 text

Git Basics

Slide 2

Slide 2 text

version control noun Computing the task of keeping a software system consisting of many versions and configurations well organised.

Slide 3

Slide 3 text

Centralised (e.g. Subversion)

Slide 4

Slide 4 text

1 source of truth 1 point of failure

Slide 5

Slide 5 text

Distributed (e.g. Git, Mercurial)

Slide 6

Slide 6 text

No 1 source of truth No 1 point of failure

Slide 7

Slide 7 text

Commands (for day-to-day activities)

Slide 8

Slide 8 text

init clone add commit remote push stash revert log branch checkout merge

Slide 9

Slide 9 text

Staging (the fundamental git concept)

Slide 10

Slide 10 text

working directory staging area/index repository add commit

Slide 11

Slide 11 text

Helping Hands (log, diff & status)

Slide 12

Slide 12 text

log diff status Show commit logs Show changes between commits Show the working tree status

Slide 13

Slide 13 text

.gitignore (excluding files you don’t need)

Slide 14

Slide 14 text

.gitignore bin/ obj/ *.tmp

Slide 15

Slide 15 text

Workflows (super simple, happy path git usage)

Slide 16

Slide 16 text

Create or copy a repo Committing code Pulling code Pushing code Feature branches Backing out changes

Slide 17

Slide 17 text

init/clone add commit push Super Simple Git Workflow For the lone wolf

Slide 18

Slide 18 text

Super Simple Team Workflow For the hyper agile team init/clone add/commit pull push

Slide 19

Slide 19 text

stash push add commit init/clone pull stash apply Team Workflow Pulling mid-commit

Slide 20

Slide 20 text

Feature Branches Short Lived, Isolated Sandboxes add/commit branch push checkout merge checkout init/clone

Slide 21

Slide 21 text

Undoing Changes (checkout, reset & revert)

Slide 22

Slide 22 text

checkout reset HEAD revert HEAD Revert uncommitted changes Revert staged changes Revert committed changes

Slide 23

Slide 23 text

/Git Basics