63
Be a Happier Developer with

Flexibling Git - Be a Happier Developer with Git

Embed Size (px)

Citation preview

Page 1: Flexibling Git - Be a Happier Developer with Git

Be a Happier Developer

with

Page 2: Flexibling Git - Be a Happier Developer with Git

...opp!

Page 3: Flexibling Git - Be a Happier Developer with Git

Be a Happier Developer

with

:-)

Page 4: Flexibling Git - Be a Happier Developer with Git

Git makes more sense when you understand “X”

Page 5: Flexibling Git - Be a Happier Developer with Git

Why was it made?

Page 6: Flexibling Git - Be a Happier Developer with Git

git is … not this

Page 7: Flexibling Git - Be a Happier Developer with Git

git is… snapshots, not differences

Page 8: Flexibling Git - Be a Happier Developer with Git

so deep!“everythings is check-

sumed”

Page 9: Flexibling Git - Be a Happier Developer with Git

no deletion!so...only ADD

Page 10: Flexibling Git - Be a Happier Developer with Git

Too big?

Linux Kernel:- 15+ milions LoC

- 12k non-merged commits

- 1300+ contributors

Page 11: Flexibling Git - Be a Happier Developer with Git

--every-things is local

Page 12: Flexibling Git - Be a Happier Developer with Git

The ”three states”

Page 13: Flexibling Git - Be a Happier Developer with Git
Page 14: Flexibling Git - Be a Happier Developer with Git
Page 15: Flexibling Git - Be a Happier Developer with Git
Page 16: Flexibling Git - Be a Happier Developer with Git
Page 17: Flexibling Git - Be a Happier Developer with Git
Page 18: Flexibling Git - Be a Happier Developer with Git
Page 19: Flexibling Git - Be a Happier Developer with Git

...

Page 20: Flexibling Git - Be a Happier Developer with Git
Page 21: Flexibling Git - Be a Happier Developer with Git

--amendreate a new commit and use it to replace the last one

Page 22: Flexibling Git - Be a Happier Developer with Git

Stashing-Tool

Page 23: Flexibling Git - Be a Happier Developer with Git

Sumary

Page 24: Flexibling Git - Be a Happier Developer with Git

Commit

Page 25: Flexibling Git - Be a Happier Developer with Git

so deep!

Page 26: Flexibling Git - Be a Happier Developer with Git

VisualizingGit Repository

With visualize tools

Page 27: Flexibling Git - Be a Happier Developer with Git

...more serious

With `git log` command

Page 28: Flexibling Git - Be a Happier Developer with Git

Naming that ***king SHA-

1, plzz!Refs - pointers to commits

Page 29: Flexibling Git - Be a Happier Developer with Git

heads

Page 30: Flexibling Git - Be a Happier Developer with Git

attacked/detacked HEAD

Page 31: Flexibling Git - Be a Happier Developer with Git

Sumary

Page 32: Flexibling Git - Be a Happier Developer with Git

Reset

Page 33: Flexibling Git - Be a Happier Developer with Git
Page 34: Flexibling Git - Be a Happier Developer with Git

First Step:Move back the

HEAD

Page 35: Flexibling Git - Be a Happier Developer with Git

Second Step:Reset Staging-

Area

Page 36: Flexibling Git - Be a Happier Developer with Git

Third Step:Reset Working-

Directory

Page 37: Flexibling Git - Be a Happier Developer with Git

give git-reset a <path>

- Dont touch the head- Touch only the <path>

Page 38: Flexibling Git - Be a Happier Developer with Git

Squashing

Page 39: Flexibling Git - Be a Happier Developer with Git

Check it out!

Page 40: Flexibling Git - Be a Happier Developer with Git
Page 41: Flexibling Git - Be a Happier Developer with Git

Summary

Page 42: Flexibling Git - Be a Happier Developer with Git

Branching

Page 43: Flexibling Git - Be a Happier Developer with Git

Cheap branching

Page 44: Flexibling Git - Be a Happier Developer with Git

Attach HEAD to branch

Page 45: Flexibling Git - Be a Happier Developer with Git

Move forward

Page 46: Flexibling Git - Be a Happier Developer with Git

Merging A into B

Page 47: Flexibling Git - Be a Happier Developer with Git

Merging A into B: fast-forward

Page 48: Flexibling Git - Be a Happier Developer with Git

Merging A into B: fast-forward (2)

Page 49: Flexibling Git - Be a Happier Developer with Git

Merging A into B: no-fast-forward

Page 50: Flexibling Git - Be a Happier Developer with Git

Merging A into B: no-fast-forward (2)

Page 51: Flexibling Git - Be a Happier Developer with Git

Merging A into B: resolve conflict

Page 52: Flexibling Git - Be a Happier Developer with Git

Rebasing: move branch's root

Page 53: Flexibling Git - Be a Happier Developer with Git

Summary

Page 54: Flexibling Git - Be a Happier Developer with Git

Syncing

Page 55: Flexibling Git - Be a Happier Developer with Git

git-remote

Page 56: Flexibling Git - Be a Happier Developer with Git

tracking branch

Page 57: Flexibling Git - Be a Happier Developer with Git

update refs

Page 58: Flexibling Git - Be a Happier Developer with Git

update refs,and merge!

Page 59: Flexibling Git - Be a Happier Developer with Git

BDDD

Page 60: Flexibling Git - Be a Happier Developer with Git

BDDD (2)

Page 61: Flexibling Git - Be a Happier Developer with Git

update refs,and rebase!

Page 62: Flexibling Git - Be a Happier Developer with Git

Update remote

Page 63: Flexibling Git - Be a Happier Developer with Git

Next Chapter: Make Your Collaborators More Happy With Git