SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Bruno Orlandi
Git e contribuição para
projetos Open Source
Aula 4
Branching
Criando ramificações do repositório
Branch
●
É uma lista de commits.
●
Representa ramificações no repositório.
●
Muito útil para trabalhos colaborativos.
●
Branchs de desenvolvimento facilitam o 
controle.
●
Branch master é a padrão.
git branch
Branching
git branch <nova_branch>
●
Cria uma nova branch.
git branch ­d <branch>
●
Excluir uma branch.
Git Checkout Branch
git checkout <branch>
●
Muda para a branch.
●
Seu repositório passa a ter os commits que a 
branch possui e novos commits serão 
adicionados à ela.
Exercício 4
●
Crie uma nova branch no seu repositório.
●
Mude para esta branch e faça pelo menos 2 
commits.
●
Faça o upload e veja sua nova branch no 
GitHub.
●
Faça um commit na master que altere as 
mesmas linhas.
●
Veja como as branchs divergem no GitHub.
Git Merge
git merge <branch>
●
Aplicar os commits de uma branch na branch 
atual.
●
Encontra um commit comum(base) entre as 
branchs e aplica todos os commits que a 
branch atual não possui.
●
Caso existam commits na branch atual que 
não estão na outra, será criado um commit de 
merge.
Exercício 5
●
Fazer o merge da nova branch na master.
●
Resolver o conflito e visualizar no GitHub o 
gráfico das branchs.
Git Rebase
git rebase <branch>
●
Semelhante ao Merge porém é diferente na 
ordem de aplicar os commits.
●
No Rebase, os seus commits na frente da base 
são removidos temporariamente, os commits 
de outra branch são aplicados na sua branch e 
por fim seus commits são aplicados um a um.
●
Pode acontecer conflitos que serão resolvidos 
para cada commit.
Git Rebase
Exercício 6
●
Faça um commit na master e outro em outra 
branch.
●
Faça o rebase da branch com a master.
●
Veja a ordem dos commits.
●
Mesmo que tenha conflitos o histórico de 
commits é preservado.
Git Fetch
git fetch
●
Baixa as atualizações do remote porém não 
aplica elas no repositório.
●
Permite fazer o rebase de uma branch em vez 
de fazer o merge.
●
Pull = Fetch + Merge
●
Fetch e Rebase é melhor para manter histórico 
do desenvolvimento.
Exercício 7
●
Com a branch master sincronizadas você e seu 
par devem fazer commits na master.
●
Seu par deve fazer o push dos commits dele.
●
Antes de você fazer o push dos seus commits 
você deve fazer o rebase com os commits do 
seu par.
Tag
●
Útil para definir versões estáveis do projeto.
●
Semelhante a Branch porém não recebe mais 
commits.
●
Guarda um estado do repositório.
git tag [nome da tag]
git push <remote> <tag>

Mais conteúdo relacionado

Mais procurados

Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
Armando Couto
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-github
Wilson Mendes
 

Mais procurados (20)

Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
Git e github
Git e githubGit e github
Git e github
 
Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?Como participar de projetos Open Source no Github?
Como participar de projetos Open Source no Github?
 
Treinamento - Iniciando no Git e Github by Leandro Alves
Treinamento  - Iniciando no Git e Github by Leandro AlvesTreinamento  - Iniciando no Git e Github by Leandro Alves
Treinamento - Iniciando no Git e Github by Leandro Alves
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantes
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Apresentação de Git
Apresentação de GitApresentação de Git
Apresentação de Git
 
Git ...ftw!
Git ...ftw!  Git ...ftw!
Git ...ftw!
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
 
Git conceitos
Git conceitosGit conceitos
Git conceitos
 
Git - Rápido, seguro, eficiente
Git - Rápido, seguro, eficienteGit - Rápido, seguro, eficiente
Git - Rápido, seguro, eficiente
 
MINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIAMINI CURSO DE GIT NA UECE – 3º DIA
MINI CURSO DE GIT NA UECE – 3º DIA
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para Iniciantes
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
Controle de versão com git
Controle de versão com gitControle de versão com git
Controle de versão com git
 
Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
Mini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-githubMini aula-sublime-text-git-e-github
Mini aula-sublime-text-git-e-github
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git
GitGit
Git
 

Semelhante a Aula 4 - Curso Git e Github - Webschool

Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
Fabricio Nogueira
 

Semelhante a Aula 4 - Curso Git e Github - Webschool (20)

Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git presentation
Git presentationGit presentation
Git presentation
 
Git 101
Git 101Git 101
Git 101
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 
GIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoGIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento Semântico
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Git workshop
Git workshopGit workshop
Git workshop
 
Rogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJRogue Snail Talk - Usando Git na Game Jam - WGJ
Rogue Snail Talk - Usando Git na Game Jam - WGJ
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Git
GitGit
Git
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021Usando Git na Unity - Gaming For All 2021
Usando Git na Unity - Gaming For All 2021
 
Oficina de Git EEDACT2015
Oficina de Git EEDACT2015Oficina de Git EEDACT2015
Oficina de Git EEDACT2015
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 

Aula 4 - Curso Git e Github - Webschool