7Masters - GIT

7Masters - GIT

Sobre o 7Masters:
7 dos maiores especialistas em Git do Brasil farão uma
Apresentação técnica de 7 minutos sobre alguma inovação que vem realizando nos últimos meses.

Link: https://setemasters.imasters.com.br/edicoes/git/

9ce1dc6b940b4ab85ecb2f1eacfbe7c1?s=128

Diego Martins de Pinho

November 27, 2017
Tweet

Transcript

  1. Diego Martins de Pinho

  2. file: foto.png [ADDED] file: dados.json [ADDED] { “nome”: “Diego Martins

    de Pinho”, “idade”: 25, “profissoes” : [ “Empreendedor”, “Desenvolvedor” ] }
  3. Que tipos de customização podemos fazer? 1. Git Configuration 2.

    Git Attributes 3. Git Hooks
  4. Git Configuration As configurações são divididas em client-side e server-side.

    A grande maioria dos comandos é de client-side e permitem configurar basicamente todos os aspectos do git. Todas as configurações estão disponíveis com o comando: $ man git-config
  5. Git Configuration - Comandos $ git config --global ... user.name

    user.email core.editor commit.template core.pager user.signingkey core.excludesfile help.autocorrect color.ui color.* merge.tool core.autocrlf receive.fsckObjects receive.denyNonFastForwards receive.denyDeletes client-side server-side
  6. Git Attributes São atributos feitos somente para determinados caminhos e/ou

    arquivos. Elas nos permitem… 1. Separar estratégias de merges para arquivos ou diretórios específicos 2. Dizer ao git como diferenciar arquivos que não são de texto 3. Filtrar o conteúdo antes mesmo de colocá-lo ou removê-lo do git
  7. Identificar Arquivos Binários Podemos identificar quais arquivos são binários para

    impedir o Git de tentar fazer comparações. Ex: arquivos criados pela IDE *.pbxproj binary Git Attributtes - Exemplos No arquivo .gitattributtes Diff de Arquivos Binários Temos como definir a maneira como o diff de arquivos binários será feita. Ex: arquivos do word *.doc diff=word Exportação do Repositório É possível definir como arquivos no projeto serão exportados. Ex: ignorar uma pastas de testes (test/) test/ export-ignore
  8. Git Hooks Os hooks são uma maneira para disparar scripts

    personalizados quando certas ações importantes ocorrerem. Existem dois grupos desses hooks: client-side e server-side. É possível utilizar os hooks para qualquer tipo de coisa.
  9. Git Hooks - Exemplos No diretório .git/hooks ... pre-commit prepare-commit-msg

    commit-msg post-commit applypatch msg pre-applypatch post-applypatch pre-rebase post-checkout post-merge Committing-Workflo w Hooks E-mail Workflow Hooks Outros Hooks de Cliente
  10. Referências 1. https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration 2. https://git-scm.com/docs/git-config.html 3. https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

  11. Obrigado! Twitter: @DiegoPinho