62
GIT EMPOWERED

Git Empowered

Embed Size (px)

Citation preview

Page 1: Git Empowered

GIT EMPOWERED

Page 2: Git Empowered
Page 3: Git Empowered
Page 4: Git Empowered

THE TALK IS BROKEN INTO THREE PARTS…

JMac

AGENDA

Page 5: Git Empowered

MESSING WITH COMMITSPART 1

Page 6: Git Empowered

EVERYDAY WORKFLOWSPART 2

Page 7: Git Empowered

WHEN GIT HAPPENS…PART 3

Page 8: Git Empowered

EACH PART WILL BE ROUGHLY 15 MINUTES WITH A QUICK DEMO IN BETWEEN.

JMac

AGENDA

Page 9: Git Empowered

I BELIEVE IN USING GIT VIA THE COMMAND LINE.

JMac

FORMAT

Page 10: Git Empowered

BECAUSE GIT IS POWERFUL AND IT’S BEST TO YIELD THAT POWER DIRECTLY.

JMac

FORMAT

Page 11: Git Empowered

OPEN A TERMINALUNIX BASED SYSTEM

Page 12: Git Empowered

PLEASE LEAVEWINDOWS

Page 13: Git Empowered
Page 14: Git Empowered

GIT BASHWINDOWS < 10

Page 15: Git Empowered

GIT EMPOWERED

GIT TERMINOLOGY

▸ repository or repo

▸ commit

▸ SHA or hash

▸ history or tree

▸ branch

▸ HEAD

Page 16: Git Empowered

GIT EMPOWERED

VISUALIZING THE TERMINOLOGY

commit

tree

c45fb1e

7df5edb

f88d321

be584f3

HEAD

branch

203ecc1

Page 17: Git Empowered

MESSING WITH COMMITSPART 1

Page 18: Git Empowered

add + commit

Page 19: Git Empowered

git add .

Page 20: Git Empowered

git commit -am

Page 21: Git Empowered
Page 22: Git Empowered

git add -p

Page 23: Git Empowered

git add -i

Page 24: Git Empowered
Page 25: Git Empowered

DEMO

Page 26: Git Empowered

commit --amend

Page 27: Git Empowered

commit --squash

Page 28: Git Empowered

commit --fixup

Page 29: Git Empowered

rebase -i

Page 30: Git Empowered

rebase --autosquash

Page 31: Git Empowered

GIT EMPOWERED

VISUALIZING THE COMMANDS

tree

2

3

4

1

Page 32: Git Empowered

GIT EMPOWERED

VISUALIZING THE COMMANDS

tree

2

3

4

1

fixup + squash

Page 33: Git Empowered

GIT EMPOWERED

VISUALIZING THE COMMANDS

tree

2 + 3

1

rebase --autosquash

Page 34: Git Empowered

DEMO

Page 35: Git Empowered

git cherry-pick

Page 36: Git Empowered

GIT EMPOWERED

VISUALIZING THE COMMANDS

master

203ecc1

Page 37: Git Empowered

GIT EMPOWERED

VISUALIZING THE COMMANDS

master

203ecc1

f88d321

cherry-pick

Page 38: Git Empowered

ONCE YOU’VE “SHARED” YOUR WORK, REWRITING HISTORY IS A VERY DANGEROUS THING.

JMac

AGENDA

Page 39: Git Empowered

EVERYDAY WORKFLOWSPART 2

Page 40: Git Empowered

git logo

Page 41: Git Empowered

git log --oneline

Page 42: Git Empowered

gst

Page 43: Git Empowered

git status

Page 44: Git Empowered

GIT EMPOWERED

GITHUB FLOW

master

featurebranch

Page 45: Git Empowered

GIT EMPOWERED

GITHUB FLOW

master

merge

Page 46: Git Empowered

GIT EMPOWERED

GITHUB FLOW

master

featurebranch

Page 47: Git Empowered

GIT EMPOWERED

GITHUB FLOW

master

merge

Page 48: Git Empowered
Page 49: Git Empowered

GIT EMPOWERED

GITHUB FLOW

master

featurebranch

Page 50: Git Empowered

GIT EMPOWERED

GITHUB FLOW

master

feature

rebase

Page 51: Git Empowered

GIT EMPOWERED

GITHUB FLOW

master

merge

Page 52: Git Empowered

DEMO

Page 53: Git Empowered

WHEN GIT HAPPENS…PART 3

Page 54: Git Empowered
Page 55: Git Empowered

reflog

Page 56: Git Empowered

GIT EMPOWERED

VISUALIZING THE COMMANDS

reflog

c45fb1e

7df5edb

f88d321

be584f3

Page 57: Git Empowered

bisect

Page 58: Git Empowered
Page 59: Git Empowered

WHEN ALL ELSE FAILS, JUST MAKE A BRANCH TO SERVE AS A BACKUP.

JMac

AGENDA

Page 60: Git Empowered

DEMO

Page 61: Git Empowered

QUESTIONS

Page 62: Git Empowered

FOLLOW ME ON TWITTER AND EMAIL ME FOR A COUPON FOR THE “GETTING GIT” SCREENCASTS.

JMac - @gonedark - [email protected]

THANKS