SlideShare a Scribd company logo
November 16, 2019
SEESAW
GIT POWER
UNLEASHING
MICHELE
FRANZIN
CTO & DIRECTOR
@REALFUZZY
SEESAW
SWING+
https://xkcd.com/
POLL TIME
http://sli.do/ #A781
WHY BOTHER ?!?
git is a free and opensource
distributed version control
system designed to handle
everything from small to very large
projects with speed and
efficiency
https://marklodato.github.io/visual-git-guide/
1. UNINTERRUPTED
http://www.keepcalmandposters.com
$> 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/
$> 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/
$> 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/
$> git stash save “award winning name”
$> git stash clear
$> git stash save --keep-index
PRO
TIPS
2. BE KIND: REBASE
better before merge
https://www.atlassian.com/git/tutorials/
https://www.atlassian.com/git/tutorials/
COMPLEX
https://blog.infernored.com
CAOTHIC
https://engineering.upside.com/
WHERE ARE WE GOING?
https://twitter.com/skeeter/status/621455383987650560
LOST CONTROL OF
YOUR REPO 🤯
https://i.stack.imgur.com/
MAY INTERFERE WITH
THE WAY YOU WRITE CODE
SPOILER
ALERT
!
https://www.atlassian.com/git/tutorials/
READABLE
HISTORY
https://www.endoflineblog.com/
THE GOLDEN RULE
OF REBASING
PRO
TIPS
3. RESISTANCE IS FUTILE
aka RESOLVE YOUR CONFLICTS
$> git rebase —-abort
$> git rebase —-skip
$> git rebase —-continue
…after some
magic
happened…
A CONFLICT RESOLUTION TOOL
https://www.semanticmerge.com/
DON’T BE SHY
commit 5c687f002f4730a428510b8c9d3155093504d2da
Merge: 4f4e5fb 2d43b94
Author: Thomas Rossetto <thomas.rossetto@seesaw.it>
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
➤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/
SEESAW
Corso del popolo, 57
35131 Padova - PD
049 8594764
www.seesaw.it
info@seesaw.it
@seesaw_it
https://www.linkedin.com/company/seesaw-s-r-l-/
https://www.facebook.com/seesawit/

More Related Content

Similar to Unleashing git power

Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
Daniel Kummer
 
Get going with_git_ppt
Get going with_git_pptGet going with_git_ppt
Get going with_git_ppt
Miraz Al-Mamun
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTree
Teerapat Khunpech
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
Mack Hardy
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Codemotion
 
Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
Nicola Paolucci
 
Using Git as your VCS with Bioconductor
Using Git as your VCS with BioconductorUsing Git as your VCS with Bioconductor
Using Git as your VCS with Bioconductor
timyates
 
Git basics
Git basicsGit basics
Git basics
Amit Sawhney
 
Geek git
Geek gitGeek git
GitLab on OpenShift
GitLab on OpenShiftGitLab on OpenShift
Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615
Brian K. Vagnini
 
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
Becky Todd
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
Docker, Inc.
 
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
David Newbury
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
Alberto Leal
 
Docker command
Docker commandDocker command
Docker command
Eric Ahn
 
Git
GitGit
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
Behzad Altaf
 
Git in pills : git stash
Git in pills : git stashGit in pills : git stash
Git in pills : git stash
Federico Panini
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
Lucas Videla
 

Similar to Unleashing git power (20)

Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Get going with_git_ppt
Get going with_git_pptGet going with_git_ppt
Get going with_git_ppt
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTree
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
Nicola Iarocci - Git stories from the front line - Codemotion Milan 2017
 
Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
 
Using Git as your VCS with Bioconductor
Using Git as your VCS with BioconductorUsing Git as your VCS with Bioconductor
Using Git as your VCS with Bioconductor
 
Git basics
Git basicsGit basics
Git basics
 
Geek git
Geek gitGeek git
Geek git
 
GitLab on OpenShift
GitLab on OpenShiftGitLab on OpenShift
GitLab on OpenShift
 
Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615Intro to Git DevOps Tally Presentation 101615
Intro to Git DevOps Tally Presentation 101615
 
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version controlGit the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
 
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
 
Docker command
Docker commandDocker command
Docker command
 
Git
GitGit
Git
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git in pills : git stash
Git in pills : git stashGit in pills : git stash
Git in pills : git stash
 
Introducción a git y GitHub
Introducción a git y GitHubIntroducción a git y GitHub
Introducción a git y GitHub
 

More from michele franzin

Trasformare un'applicazione monolitica in microservices (versione #daje)
Trasformare un'applicazione monolitica in microservices (versione #daje)Trasformare un'applicazione monolitica in microservices (versione #daje)
Trasformare un'applicazione monolitica in microservices (versione #daje)
michele franzin
 
Come ti smantello un'app monolitica in microservices
Come ti smantello un'app monolitica in microservicesCome ti smantello un'app monolitica in microservices
Come ti smantello un'app monolitica in microservices
michele franzin
 
1 anno di sviluppo prodotto con un team distribuito
1 anno di sviluppo prodotto con un team distribuito1 anno di sviluppo prodotto con un team distribuito
1 anno di sviluppo prodotto con un team distribuito
michele franzin
 
Microservices: cosa sono e quando non usarli
Microservices: cosa sono e quando non usarliMicroservices: cosa sono e quando non usarli
Microservices: cosa sono e quando non usarli
michele franzin
 
...hai detto CQRS a chi ?!?!?!
...hai detto CQRS a chi ?!?!?! ...hai detto CQRS a chi ?!?!?!
...hai detto CQRS a chi ?!?!?!
michele franzin
 
Ruby 20th birthday
Ruby 20th birthdayRuby 20th birthday
Ruby 20th birthday
michele franzin
 
Magie di git
Magie di gitMagie di git
Magie di git
michele franzin
 
from(0).to('rubygems.org')
from(0).to('rubygems.org')from(0).to('rubygems.org')
from(0).to('rubygems.org')
michele franzin
 

More from michele franzin (8)

Trasformare un'applicazione monolitica in microservices (versione #daje)
Trasformare un'applicazione monolitica in microservices (versione #daje)Trasformare un'applicazione monolitica in microservices (versione #daje)
Trasformare un'applicazione monolitica in microservices (versione #daje)
 
Come ti smantello un'app monolitica in microservices
Come ti smantello un'app monolitica in microservicesCome ti smantello un'app monolitica in microservices
Come ti smantello un'app monolitica in microservices
 
1 anno di sviluppo prodotto con un team distribuito
1 anno di sviluppo prodotto con un team distribuito1 anno di sviluppo prodotto con un team distribuito
1 anno di sviluppo prodotto con un team distribuito
 
Microservices: cosa sono e quando non usarli
Microservices: cosa sono e quando non usarliMicroservices: cosa sono e quando non usarli
Microservices: cosa sono e quando non usarli
 
...hai detto CQRS a chi ?!?!?!
...hai detto CQRS a chi ?!?!?! ...hai detto CQRS a chi ?!?!?!
...hai detto CQRS a chi ?!?!?!
 
Ruby 20th birthday
Ruby 20th birthdayRuby 20th birthday
Ruby 20th birthday
 
Magie di git
Magie di gitMagie di git
Magie di git
 
from(0).to('rubygems.org')
from(0).to('rubygems.org')from(0).to('rubygems.org')
from(0).to('rubygems.org')
 

Recently uploaded

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
devvsandy
 

Recently uploaded (20)

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
 

Unleashing git power