aula 4 - curso git e github - webschool

14
Bruno Orlandi Git e contribuição para projetos Open Source Aula 4

Upload: bruno-orlandi

Post on 15-Apr-2017

137 views

Category:

Software


1 download

TRANSCRIPT

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>