lightning talk
branches
branches 
dev 
• branch de desenvolvimento 
• syncar código entre devs
branches 
staging 
• branch de teste 
• merge da dev 
• teste para produção 
• ambiente similar ao de produção
branches 
production 
• código de produção 
• código homolagado em staging 
• merge da staging
branches 
branch X 
• feature que vai levar mais de um 
commit 
• algo que pode quebrar alguma 
branch 
• manter a sua bagunça separada
branches 
listar branches 
• $ git branch -a
branches 
branch orfã 
• $ git checkout --orphan 
nova_branch 
• branch sem pai 
• bom para arquivos de suporte, design, ...
log
log 
log do repositório 
• $ git log --name-only
log 
log de um arquivo 
• $ git log filename
log 
detalhes de um commit 
• $ git show commitID --name-only
blame
blame 
blame de arquivo 
• $ git blame filename 
• mostra quem inseriu cada linha
blame 
blame de arquivo entre linhas 
• $ git blame -L 10,20 filename 
• limita entre as linhas 10 e 20
reverter 
mudanças
reverter mudanças 
limpar repositório 
• $ git clean -f 
• deixa repositório idêntico ao último 
commit 
• deleta arquivos
reverter mudanças 
voltar para commit antigo 
• $ git checkout commitID
commit 
messages
commit messages 
Boas práticas 
• resumo < 80 char 
• nova linha 
• descrição completa 
• msg no presente perfeito
commit messages 
Sublime Text 
• $ vi ~/.gitconfig 
• [core] editor = subl -n -w
amend
amend 
Mantendo o log limpo 
• Altera último commit 
• Para pequenos fixes 
• Inserir arquivo esquecido 
• Não gera um commit desnecessário
amend 
Comandos 
• $ git commit --amend 
• $ git push -f
conflitos
conflitos 
FileMerge no OS X 
• Instale o Xcode pela Mac App Store 
• $ git config --global merge.tool 
opendiff 
• $ git config --global diff.tool 
opendiff
conflitos 
FileMerge no OS X
atalhos
atalhos 
Atalhos úteis 
•http://loopinfinito.com.br/2012/12/13/ 
atalhos-do-git/ 
•http://d.pr/2VMU

Git lighting talk