SlideShare a Scribd company logo
1 of 149
Download to read offline
Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br
#3 - Git - Branching e Merging
Rodrigo Branas
rodrigo.branas@agilecode.com.br
http://www.agilecode.com.br
• Arquiteto de Software na Gennera
• Professor na Agile Code
• Autor na Java Magazine e PacktPub
• Palestrante
http://www.youtube.com/rodrigobranas
O que é um branch e quais são
as vantagens de utilizá-lo?
Um branch é uma nova linha de
desenvolvimento que permite isolar o
código de uma nova funcionalidade,
mantendo a linha base estável.
É possível trocar de branch
facilmente, a qualquer momento
Os commits podem continuar
contando a história do projeto
O branch pode ser sincronizado e
compartilhado, evitando perdas
Depois de trabalhar no branch é
necessário realizar um merge
git branch
commit a9ae
tree f4b3
parent
master
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
master
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
master
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
git branch feature1
git branch
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature1
No Git, um branch é apenas uma
referência para um commit.
cat .git/refs/heads/master
cat .git/refs/heads/feature1
git log --oneline --decorate
HEAD?
cat .git/HEAD
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature1
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature1HEAD
git checkout feature1
cat .git/HEAD
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature1HEAD
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature1 HEAD
Criando um commit no branch...
echo d > d.txt
git add -A
git commit -m "d.txt"
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature1 HEAD
commit a42c
tree ad86
parent b274
git log --oneline --decorate
Trocando de branch, os arquivos
são substituídos
git checkout master
ls -la
git log --oneline --decorate
git log --oneline --decorate --all
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature1 HEAD
commit a42c
tree ad86
parent b274
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature1
commit a42c
tree ad86
parent b274
HEAD
Realizando um merge no
master...
git merge feature1
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature1
commit a42c
tree ad86
parent b274
HEAD
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature1
commit a42c
tree ad86
parent b274
HEAD
Fast-Forward
A estratégia fast-forward é apenas uma
atualização da referência e só é possível
quando não existe divergência entre
os branches.
git log --oneline --decorate --all
git branch -d feature1
git log --oneline --decorate --all
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature1
commit a42c
tree ad86
parent b274
HEAD
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
HEAD
Criando uma divergência entre o
master e o branch...
git branch feature2
git checkout feature2
ou
git checkout -b feature2
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
HEAD
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature2
commit a42c
tree ad86
parent b274
HEAD
echo e > e.txt
git add -A
git commit -m "e.txt"
git log --oneline --decorate --all
commit a9ae
tree f4b3
parent
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature2
commit a42c
tree ad86
parent b274
HEAD
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature2
commit a42c
tree ad86
parent b274
HEAD
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
git checkout master
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
echo f > f.txt
git add -A
git commit -m "f.txt"
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
git log --oneline --decorate --all
git log --oneline --decorate --all --graph
Realizando um merge...
git merge feature2
commit 372d
tree d11b
parent a9ae
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
Recursive
A estratégia recursive é utilizada
quando existe divergência entre os
branches e um commit para unir ambos
se torna necessário.
git log --oneline --decorate --all --graph
git branch -d feature2
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
feature2
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
E se der conflito?
git checkout -b feature3
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
commit 7f64
tree 6300
parent 372d
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
echo g2 > g.txt
git add -A
git commit -m "g.txt"
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
git log --oneline --decorate --all --graph
git checkout master
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
HEAD
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
HEAD
echo g1 > g.txt
git add -A
git commit -m "g.txt"
commit b274
tree 15eb
parent 7f64
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
HEAD
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
HEAD
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
HEAD
commit c85e
tree a1bb
parent cc8a
git merge feature3
git status
git diff
vi g.txt
git add -A
git commit -m "g.txt"
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
HEAD
commit c85e
tree a1bb
parent cc8a
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
HEAD
commit c85e
tree a1bb
parent cc8a
commit 270e
tree 82b4
parent c85e
parent c5b5
git log --oneline --decorate --all --graph
git branch -d feature3
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
feature3
commit c5b5
tree 82b4
parent cc8a
HEAD
commit c85e
tree a1bb
parent cc8a
commit 270e
tree 82b4
parent c85e
parent c5b5
master
commit a42c
tree ad86
parent b274
commit fde2
tree a025
parent a42c
commit d67a
tree 10e6
parent a42c
commit cc8a
tree 10e6
parent d67a
parent fde2
commit c5b5
tree 82b4
parent cc8a
HEAD
commit c85e
tree a1bb
parent cc8a
commit 270e
tree 82b4
parent c85e
parent c5b5
Rodrigo Branas
Site: http://www.agilecode.com.br
Twitter: @rodrigobranas
Facebook: http://www.facebook.com/canalrodrigobranas
SlideShare: http://www.slideshare.com/rodrigobranas
YouTube: http://www.youtube.com/rodrigobranas
LinkedIn: http://br.linkedin.com/in/rodrigobranas
+Plus: https://plus.google.com/+RodrigoBranas
GitHub: http://www.github.com/rodrigobranas

More Related Content

What's hot

Git Terminologies
Git TerminologiesGit Terminologies
Git TerminologiesYash
 
Routed Fabrics For Ceph
Routed Fabrics For CephRouted Fabrics For Ceph
Routed Fabrics For CephShapeBlue
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelThomas Graf
 
Application modernization patterns with apache kafka, debezium, and kubernete...
Application modernization patterns with apache kafka, debezium, and kubernete...Application modernization patterns with apache kafka, debezium, and kubernete...
Application modernization patterns with apache kafka, debezium, and kubernete...Bilgin Ibryam
 
VMware Tanzu Kubernetes Connect
VMware Tanzu Kubernetes ConnectVMware Tanzu Kubernetes Connect
VMware Tanzu Kubernetes ConnectVMware Tanzu
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practiceMajid Hosseini
 
VSAN – Architettura e Design
VSAN – Architettura e DesignVSAN – Architettura e Design
VSAN – Architettura e DesignVMUG IT
 
Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryDatabricks
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionStefan Schimanski
 
Ceph and Openstack in a Nutshell
Ceph and Openstack in a NutshellCeph and Openstack in a Nutshell
Ceph and Openstack in a NutshellKaran Singh
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016Wagner Bianchi
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityThomas Graf
 

What's hot (20)

Git Terminologies
Git TerminologiesGit Terminologies
Git Terminologies
 
Routed Fabrics For Ceph
Routed Fabrics For CephRouted Fabrics For Ceph
Routed Fabrics For Ceph
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux Kernel
 
Application modernization patterns with apache kafka, debezium, and kubernete...
Application modernization patterns with apache kafka, debezium, and kubernete...Application modernization patterns with apache kafka, debezium, and kubernete...
Application modernization patterns with apache kafka, debezium, and kubernete...
 
VMware Tanzu Kubernetes Connect
VMware Tanzu Kubernetes ConnectVMware Tanzu Kubernetes Connect
VMware Tanzu Kubernetes Connect
 
K8s - Setting up minikube
K8s  - Setting up minikubeK8s  - Setting up minikube
K8s - Setting up minikube
 
Learning git
Learning gitLearning git
Learning git
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Migrating To GitHub
Migrating To GitHub  Migrating To GitHub
Migrating To GitHub
 
Git advanced
Git advancedGit advanced
Git advanced
 
VSAN – Architettura e Design
VSAN – Architettura e DesignVSAN – Architettura e Design
VSAN – Architettura e Design
 
Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous Delivery
 
Git basics
Git basicsGit basics
Git basics
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
 
Kubernetes Architecture and Introduction
Kubernetes Architecture and IntroductionKubernetes Architecture and Introduction
Kubernetes Architecture and Introduction
 
Ceph and Openstack in a Nutshell
Ceph and Openstack in a NutshellCeph and Openstack in a Nutshell
Ceph and Openstack in a Nutshell
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
 

Similar to #3 - Git - Branching e Merging

Git-ing out of your git messes - Fluent Conf 2017
Git-ing out of  your git messes - Fluent Conf 2017Git-ing out of  your git messes - Fluent Conf 2017
Git-ing out of your git messes - Fluent Conf 2017Katie Sylor-Miller
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remotoRodrigo Branas
 
Understanding git
Understanding gitUnderstanding git
Understanding gitAvik Das
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a gitBerny Cantos
 
Bend time to your will with git
Bend time to your will with gitBend time to your will with git
Bend time to your will with gitChris Tankersley
 
Keep you GIT history clean
Keep you GIT history cleanKeep you GIT history clean
Keep you GIT history cleantomasbro
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Bosstmacwilliam
 
Version Control and Git - GitHub Workshop
Version Control and Git - GitHub WorkshopVersion Control and Git - GitHub Workshop
Version Control and Git - GitHub WorkshopAll Things Open
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android DeveloperEffective
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With GitNick Quaranto
 
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 controlBecky Todd
 
Get Good With Git
Get Good With GitGet Good With Git
Get Good With GitHoffman Lab
 
Keep your GIT history clean
Keep your GIT history cleanKeep your GIT history clean
Keep your GIT history cleantomasbro
 
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 2017Codemotion
 
Git-ing out of your git messes
Git-ing out of  your git messesGit-ing out of  your git messes
Git-ing out of your git messesKatie Sylor-Miller
 

Similar to #3 - Git - Branching e Merging (20)

Git-ing out of your git messes - Fluent Conf 2017
Git-ing out of  your git messes - Fluent Conf 2017Git-ing out of  your git messes - Fluent Conf 2017
Git-ing out of your git messes - Fluent Conf 2017
 
#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto#5 - Git - Contribuindo com um repositório remoto
#5 - Git - Contribuindo com um repositório remoto
 
Understanding git
Understanding gitUnderstanding git
Understanding git
 
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a git
 
M.Mozūras - git
M.Mozūras - gitM.Mozūras - git
M.Mozūras - git
 
Bend time to your will with git
Bend time to your will with gitBend time to your will with git
Bend time to your will with git
 
Keep you GIT history clean
Keep you GIT history cleanKeep you GIT history clean
Keep you GIT history clean
 
Git社内勉強会
Git社内勉強会Git社内勉強会
Git社内勉強会
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
 
Version Control and Git - GitHub Workshop
Version Control and Git - GitHub WorkshopVersion Control and Git - GitHub Workshop
Version Control and Git - GitHub Workshop
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android Developer
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
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
 
Get Good With Git
Get Good With GitGet Good With Git
Get Good With Git
 
Keep your GIT history clean
Keep your GIT history cleanKeep your GIT history clean
Keep your GIT history clean
 
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
 
Git-ing out of your git messes
Git-ing out of  your git messesGit-ing out of  your git messes
Git-ing out of your git messes
 
git internals
git internalsgit internals
git internals
 
Git Without Puns
Git Without PunsGit Without Puns
Git Without Puns
 

More from Rodrigo Branas

Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasRodrigo Branas
 
Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasRodrigo Branas
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasRodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasRodrigo Branas
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasRodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasRodrigo Branas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisasRodrigo Branas
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - IntroduçãoRodrigo Branas
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJSRodrigo Branas
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões RegularesRodrigo Branas
 
Automação de Testes com AngularJS
Automação de Testes com AngularJSAutomação de Testes com AngularJS
Automação de Testes com AngularJSRodrigo Branas
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSRodrigo Branas
 
Criando serviços com AngularJS
Criando serviços com AngularJSCriando serviços com AngularJS
Criando serviços com AngularJSRodrigo Branas
 
Criando Filtros com AngularJS
Criando Filtros com AngularJSCriando Filtros com AngularJS
Criando Filtros com AngularJSRodrigo Branas
 
Criando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJSCriando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJSRodrigo Branas
 

More from Rodrigo Branas (20)

Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo BranasNode.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
Node.js - #7 - Core Modules - http - Parte 1 - Rodrigo Branas
 
Node.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo BranasNode.js - #6 - Core Modules - net - Rodrigo Branas
Node.js - #6 - Core Modules - net - Rodrigo Branas
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo Branas
 
Node.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo BranasNode.js - #4 - Timers - Rodrigo Branas
Node.js - #4 - Timers - Rodrigo Branas
 
Node.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo BranasNode.js - #3 - Global Objects - Rodrigo Branas
Node.js - #3 - Global Objects - Rodrigo Branas
 
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo BranasNode.js - #2 - Sistema de Módulos - Rodrigo Branas
Node.js - #2 - Sistema de Módulos - Rodrigo Branas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas#6 - Git - Desfazendo as coisas
#6 - Git - Desfazendo as coisas
 
#1 - Git - Introdução
#1 - Git - Introdução#1 - Git - Introdução
#1 - Git - Introdução
 
#4 - Git - Stash
#4 - Git - Stash#4 - Git - Stash
#4 - Git - Stash
 
A evolução do AngularJS
A evolução do AngularJSA evolução do AngularJS
A evolução do AngularJS
 
JavaScript - Date
JavaScript - DateJavaScript - Date
JavaScript - Date
 
JavaScript - Expressões Regulares
JavaScript - Expressões RegularesJavaScript - Expressões Regulares
JavaScript - Expressões Regulares
 
Automação de Testes com AngularJS
Automação de Testes com AngularJSAutomação de Testes com AngularJS
Automação de Testes com AngularJS
 
Scope AngularJS
Scope AngularJSScope AngularJS
Scope AngularJS
 
HTTP Interceptors com AngularJS
HTTP Interceptors com AngularJSHTTP Interceptors com AngularJS
HTTP Interceptors com AngularJS
 
Criando serviços com AngularJS
Criando serviços com AngularJSCriando serviços com AngularJS
Criando serviços com AngularJS
 
Criando Filtros com AngularJS
Criando Filtros com AngularJSCriando Filtros com AngularJS
Criando Filtros com AngularJS
 
Criando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJSCriando aplicações Single-Page com AngularJS
Criando aplicações Single-Page com AngularJS
 

Recently uploaded

Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 

Recently uploaded (20)

Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

#3 - Git - Branching e Merging