Slide 1

Slide 1 text

November 16, 2019 SEESAW GIT POWER UNLEASHING

Slide 2

Slide 2 text

MICHELE FRANZIN CTO & DIRECTOR @REALFUZZY

Slide 3

Slide 3 text

SEESAW

Slide 4

Slide 4 text

SWING+

Slide 5

Slide 5 text

https://xkcd.com/

Slide 6

Slide 6 text

POLL TIME http://sli.do/ #A781

Slide 7

Slide 7 text

WHY BOTHER ?!?

Slide 8

Slide 8 text

git is a free and opensource distributed version control system designed to handle everything from small to very large projects with speed and efficiency

Slide 9

Slide 9 text

https://marklodato.github.io/visual-git-guide/

Slide 10

Slide 10 text

1. UNINTERRUPTED

Slide 11

Slide 11 text

http://www.keepcalmandposters.com

Slide 12

Slide 12 text

$> git stash Directory di lavoro e stato indice salvati: WIP on develop: 0f54a61 removed websocket messaging test from controller $> git status Sul branch develop Il tuo branch è aggiornato rispetto a 'origin/ develop'. non c'è nulla di cui eseguire il commit, l'albero di lavoro è pulito $> git stash list stash@{0}: WIP on develop: 0f54a61 removed websocket messaging test from controller stash@{1}: On develop: … $> git stash pop https://i.stack.imgur.com/

Slide 13

Slide 13 text

$> git stash Directory di lavoro e stato indice salvati: WIP on develop: 0f54a61 removed websocket messaging test from controller $> git status Sul branch develop Il tuo branch è aggiornato rispetto a 'origin/ develop'. non c'è nulla di cui eseguire il commit, l'albero di lavoro è pulito $> git stash list stash@{0}: WIP on develop: 0f54a61 removed websocket messaging test from controller stash@{1}: On develop: … $> git stash pop https://i.stack.imgur.com/

Slide 14

Slide 14 text

$> git stash Directory di lavoro e stato indice salvati: WIP on develop: 0f54a61 removed websocket messaging test from controller $> git status Sul branch develop Il tuo branch è aggiornato rispetto a 'origin/ develop'. non c'è nulla di cui eseguire il commit, l'albero di lavoro è pulito $> git stash list stash@{0}: WIP on develop: 0f54a61 removed websocket messaging test from controller stash@{1}: On develop: … $> git stash pop https://i.stack.imgur.com/

Slide 15

Slide 15 text

$> git stash save “award winning name” $> git stash clear $> git stash save --keep-index PRO TIPS

Slide 16

Slide 16 text

2. BE KIND: REBASE better before merge

Slide 17

Slide 17 text

https://www.atlassian.com/git/tutorials/

Slide 18

Slide 18 text

https://www.atlassian.com/git/tutorials/

Slide 19

Slide 19 text

COMPLEX https://blog.infernored.com

Slide 20

Slide 20 text

CAOTHIC https://engineering.upside.com/

Slide 21

Slide 21 text

WHERE ARE WE GOING? https://twitter.com/skeeter/status/621455383987650560

Slide 22

Slide 22 text

LOST CONTROL OF YOUR REPO https://i.stack.imgur.com/

Slide 23

Slide 23 text

MAY INTERFERE WITH THE WAY YOU WRITE CODE SPOILER ALERT !

Slide 24

Slide 24 text

https://www.atlassian.com/git/tutorials/

Slide 25

Slide 25 text

READABLE HISTORY https://www.endoflineblog.com/

Slide 26

Slide 26 text

THE GOLDEN RULE OF REBASING PRO TIPS

Slide 27

Slide 27 text

3. RESISTANCE IS FUTILE aka RESOLVE YOUR CONFLICTS

Slide 28

Slide 28 text

$> git rebase —-abort $> git rebase —-skip $> git rebase —-continue …after some magic happened…

Slide 29

Slide 29 text

A CONFLICT RESOLUTION TOOL https://www.semanticmerge.com/

Slide 30

Slide 30 text

DON’T BE SHY commit 5c687f002f4730a428510b8c9d3155093504d2da Merge: 4f4e5fb 2d43b94 Author: Thomas Rossetto Date: Thu Oct 3 11:51:37 2019 +0200 Merge branch 'develop' Con flicts: Gemfile Gemfile.lock app/assets/stylesheets/active_admin.scss config/environments/production.rb db/schema.rb PRO TIPS

Slide 31

Slide 31 text

➤Git is hard, but rocks ➤Code as documentation (for real) ➤Don’t merge give up & rebase ➤Developer Happiness ➤Colleague happiness TAKEAWAYS https://www.semanticmerge.com/

Slide 32

Slide 32 text

SEESAW Corso del popolo, 57 35131 Padova - PD 049 8594764 www.seesaw.it [email protected] @seesaw_it https://www.linkedin.com/company/seesaw-s-r-l-/ https://www.facebook.com/seesawit/