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

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitLukas Fittl
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHubVikram SV
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowMikhail Melnik
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Valerio Radice
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily useMediacurrent
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitE Carter
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for BeginnersNebulaworks
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction TutorialThomas Rausch
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーSaeko Yamamoto
 
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyerCase Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyerNoa Harel
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...SlideTeam
 

What's hot (20)

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
Presentacion git
Presentacion gitPresentacion git
Presentacion git
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily use
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
 
Git advanced
Git advancedGit advanced
Git advanced
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyerCase Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
 
Github basics
Github basicsGithub basics
Github basics
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
 

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

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 

Recently uploaded (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

#3 - Git - Branching e Merging