Git lighting talk

29
lightning talk

Transcript of Git lighting talk

lightning talk

branches

branches

• branch de desenvolvimento

• syncar código entre devs

dev

branches

• branch de teste

• merge da dev

• teste para produção

• ambiente similar ao de produção

staging

branches

• código de produção

• código homolagado em staging

• merge da staging

production

branches

• feature que vai levar mais de um

commit

• algo que pode quebrar alguma

branch

• manter a sua bagunça separada

branch X

branches

• $ git branch -a

listar branches

branches

• $ git checkout --orphan

nova_branch

• branch sem pai

• bom para arquivos de suporte, design, ...

branch orfã

log

log

• $ git log --name-only

log do repositório

log

• $ git log filename

log de um arquivo

log

• $ git show commitID --name-only

detalhes de um commit

blame

blame

• $ git blame filename

• mostra quem inseriu cada linha

blame de arquivo

blame

• $ git blame -L 10,20 filename

• limita entre as linhas 10 e 20

blame de arquivo entre linhas

reverter mudanças

reverter mudanças

• $ git clean -f

• deixa repositório idêntico ao último

commit

• deleta arquivos

limpar repositório

reverter mudanças

• $ git checkout commitID

voltar para commit antigo

commit messages

commit messages

• resumo < 80 char

• nova linha

• descrição completa

• msg no presente perfeito

Boas práticas

commit messages

• $ vi ~/.gitconfig

• [core] editor = subl -n -w

Sublime Text

amend

amend

• Altera último commit

• Para pequenos fixes

• Inserir arquivo esquecido

• Não gera um commit desnecessário

Mantendo o log limpo

amend

• $ git commit --amend

• $ git push -f

Comandos

conflitos

conflitos

• Instale o Xcode pela Mac App Store

• $ git config --global merge.tool opendiff

• $ git config --global diff.tool opendiff

FileMerge no OS X

conflitos

FileMerge no OS X

atalhos