Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git - Dicas e boas práticas

Git - Dicas e boas práticas

Iuri Fernandes

March 22, 2013
Tweet

More Decks by Iuri Fernandes

Other Decks in Programming

Transcript

  1. "The slogan of Subversion for a while was 'CVS done

    right', or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right." Linus Torvalds
  2. O que colocar no repositório? • Pode ser gerado pelo

    código? • Pode ser versionado? • É necessário para a execução do código?
  3. Branches • Por que usá-las? – Isolamento de alterações •

    Feature Branches – Isolamento de features • Pull requests – Dependem do isolamento de repositórios/branches – Discutir implementações e ideias – Ver alterações facilmente
  4. Branches • Criação – git branch <nome-da-branch> – git checkout

    -b <nome-da-branch> • Merge – git merge <branch-que-sera-mergeada> • Push – git push <remote> <branch-que-sera-enviada> • Rebase – git rebase <nova-branch-base>
  5. Operações sobre arquivos • Rastreio de arquivos • Histórico –

    git blame <nome-do-arquivo> • Nunca copiar, mover ou remover sem “avisar ao git”
  6. Operações sobre arquivos • Mover – git mv <nome-do-arquivo> <novo-nome>

    • Copiar – git cp <nome-do-arquivo> <novo-nome> • Remover – git rm <nome-do-arquivo>
  7. Transferência de arquivos • A - “Ei, te mandei uma

    nova versão.” • B - “Beleza, vou ver lá … não serve, modifica.” • A - “Ok, tá aí.” • B - “A passada tava melhor, me manda de novo que não tenho mais. Quero modificar uma coisa.” • A - “Oo … também não.”
  8. Transferência de arquivos • Alternativas melhores – Colocar no repositório

    • Branch and squash • Repositórios remotos pessoais – Gist (http://gist.github.com/)
  9. Tags • Criação – git tag -a v1.0 • Sincronia

    remota – git push origin v1.0 – git push origin --tags
  10. Mensagens de commit • “Fixed function X” • “Working in

    feature Y” • “Implementing function X, but is not working yet”
  11. Mensagens de commit • Padrão mais usado(Linux e muito outros

    projetos) – Inglês – Primeira linha com até 50 caracteres no imperativo. – Corpo optativo escrito a partir da terceira linha. • É obrigatório seguir esse padrão?