Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Introdução do Git

Introdução do Git

Facilitação feita na Procenge para os Designers sobre o Git.

Material apresentado no dia 01/11/2024

Wagner Beethoven

November 01, 2024
Tweet

More Decks by Wagner Beethoven

Other Decks in Technology

Transcript

  1. Git Introdução e Importância no Desenvolvimento de Software Wagner Beethoven

    
 Coordenador de UX Design / Procenge Tecnologia
  2. Git é um sistema de controle de versão distribuído que

    rastreia mudanças no código e facilita a colaboração em projetos, permitindo que várias pessoas trabalhem simultaneamente. É uma ferramenta essencial para equipes que buscam organização e segurança no gerenciamento de código. O que é o Git?
  3. Git facilita a colaboração e garante que todas as versões

    do projeto estejam disponíveis para consulta e recuperação, caso necessário. Por que usar Git?
  4. Onde escrever esses códigos de Git? Git não é um

    editor de código. O código deve ser escrito em um IDE ou editor como o Visual Studio Code e comandos Git são executados em terminais como PowerShell ou CMD.
  5. Passos do Fluxo Básico  Add Adiciona arquivos para o

    próximo commit A Push Envia as alterações para o repositório remoto a Commit Registra as mudanças com uma mensagem descritiva 5. Pull Traz as últimas atualizações do repositório remoto. s Clone Baixa uma cópia do repositório remoto Release do produto ou da funcionalidade Desenvolvedor cria e envia uma nova funcionalidade usando esses comandos.
  6. O que é uma Branch? Uma permite trabalhar em funcionalidades

    isoladas sem interferir no código principal. branch Exemplo: Ao criar a ' ', você pode desenvolver a funcionalidade de login sem afetar o código da versão principal. branch feature-login
  7. Master Hotfix Release Feature Develop Branchs Exemplo de branchs Abaixo

    está sendo apresentado um modelo de várias brancHs e elas coexistem para que o software consiga se desenvolver
  8. O que é um commit? Commit é o registro de

    uma mudança no código, acompanhado de uma mensagem descritiva. Cada commit é um ponto de restauração que facilita o rastreamento de alterações Exemplo: Exemplo da criada para desenvolver uma tela de login sem afetar a principal. branch feature-login branch
  9. O que é o Merge? Merge branchs branchs combina o

    conteúdo de duas . Conflitos podem ocorrer se as mesmas linhas forem alteradas em ambas as Exemplo: Merge da ' ' com a branch principal após a finalização da funcionalidade branch feature-login 'main'
  10. O que é o Push? Push branch envia commits da

    local para o repositório remoto após testes Exemplo: Após testes locais, um desenvolvedor faz das alterações na . push branch main
  11. O que é o Pull? Pull branch traz as últimas

    atualizações do repositório remoto para a local, garantindo que o desenvolvedor tenha o código mais recente. Exemplo: Desenvolvedor usa para obter as últimas atualizações feitas por outros colaboradores. git pull
  12. O que é o Fork? Fork cria uma cópia de

    um repositório para desenvolvimento independente, ideal para projetos open-source Exemplo: Colaborador cria um de um projeto open-source, trabalha em melhorias e propõe mudanças. fork
  13. O que é Pull Request (ou merge request)? Pull Request

    merge request (ou ) solicita a integração de mudanças para outra branch, com revisão e aprovação Exemplo: Desenvolvedor cria um para enviar a para revisão e aprovação na . pull request feature-login main
  14. Configuração inicial de usuário e Atalhos (alias) Alias permite criar

    atalhos para comandos frequentes, facilitando o uso do Git. Configuração de usuário: Criar atalhos para comandos comuns: git config --global user.name "Seu Nome" git config --global alias.st status Exemplo: Atalho para como . git status git st
  15. O que é Rebase? Rebase reorganiza o histórico de para

    manter uma linha do tempo linear. commits Exemplo: para aplicar commits de uma logo após o último da . git rebase main branch commit main
  16. O que é o Stash? Stash armazena temporariamente alterações não

    commitadas, permitindo trocas de sem perda de progresso branch Exemplo: Desenvolvedor usa para salvar alterações temporárias antes de trocar de . git stash branch
  17. Para que servem as Tags? Tags marcam versões importantes, como

    lançamentos oficiais. Exemplo: para marcar uma versão estável. git tag -a v1.0 -m "Versão 1.0"
  18. O que é o Cherry-pick? Cherry-pick permite copiar um específico

    para outra , útil para aplicar correções pontuais. commit branch Exemplo: para aplicar uma correção na principal. git cherry-pick <commit> branch
  19. O que são Hooks? Hooks são scripts automáticos que executam

    ações em eventos do Git, como rodar testes antes de um commit Exemplo: para rodar testes antes de confirmar um . pre-commit commit
  20. Workflow Git Flow Estrutura para projetos de longo prazo com

    branches específicas para desenvolvimento, hotfix, release, e produção GitHub Flow Ideal para deploys contínuos, utiliza a branch 'main' para produção e branches temporárias para novas funcionalidades. GitLab Flow Integra desenvolvimento e CI/ CD, com foco em branches de produção e ambientes específicos.
  21. Git Flow Master/Main Principal branch, aqui é onde temos todo

    o código de produção. Todas as novas funcionalidades que estão sendo desenvolvidas, em algum momento, serão mescladas ou associadas a Master. Hotfix É uma branch criada a partir da master para realizar correções imediatas encontradas no sistema em produção. Develop Ela serve como uma linha do tempo com os últimos desenvolvimentos, isso significa que ela possui funcionalidades que ainda não foram publicadas e que posteriormente vão ser associadas com a branch Master. Feature São branches utilizadas para o desenvolvimento de funcionalidades específicas Release Ela funciona como ambiente de homologação e é removida após realizar os testes do merge com a Master. Fonte: Alura
  22. Github Flow O GitHub Flow é um fluxo de trabalho

    simplificado para Git, desenvolvido pela equipe do GitHub, ideal para projetos de desenvolvimento contínuo. Ele utiliza um único principal (geralmente o ) e temporários para novas funcionalidades ou correções. O processo envolve criar um branch para cada tarefa, fazer , abrir uma para revisão, e, após a aprovação, fazer o no . Esse fluxo é ágil e direto, promovendo a colaboração e integração contínua (CI), sendo especialmente eficaz para projetos de desenvolvimento web e de software em que as atualizações são frequentes. branch main branches commits pull request merge main Fonte: Medium
  23. Gitlab Flow Metodologia de trabalho para Git que integra o

    desenvolvimento de código com o processo de entrega, unindo as práticas do Git Flow e GitHub Flow. Ele organiza os branches para refletirem melhor o ciclo de vida do código e o ambiente onde será executado, facilitando o controle de versões e a integração contínua (CI/CD). No GitLab Flow, há foco em branches de produção e ambientes específicos, permitindo que as equipes gerenciem com mais eficiência as atualizações, correções e lançamentos de software, tudo dentro da interface do GitLab. cONFIGURAÇÃO INCIAL ADIÇÃO DA VIZUALIZAÇÃO EM ABAS DEFINIÇÃO DA CONEÇÃO DO BANCO DE DADOS SPRINT 2 FINALIZADA Fonte: Git Flow | Gitbook Feature branches Develop Master
  24. Proteção de Branches Configurar protegidas impede alterações diretas e exige

    , garantindo revisão de código branchs pull requests Exemplo: Configurar como protegida, exigindo . main pull requests
  25. TDD e Git TDD automatiza testes a cada , mantendo

    a qualidade do código commit Exemplo: Testes unitários rodando automaticamente antes de cada . merge
  26. CI/CD com Git CI/CD automatiza testes e deploys, promovendo integração

    e entrega contínua. Exemplo: GitHub Actions executa testes automaticamente em cada . pull request
  27. Ferramentas de Histórico 3 git log commits 3 git blame

    : exibe o histórico de 7 : mostra quem fez cada linha em um arquivo. Exemplo: Desenvolvedor usa para identificar o autor de uma linha de código problemática. git blame
  28. Boas práticas  Escreva mensagens de descritivas'  Mantenha curtas

    e específicas para cada tarefa'  Solicite revisão de código antes de merges. commit branches
  29. Dominar o Git melhora a qualidade do desenvolvimento e facilita

    a colaboração em equipe, essencial para projetos bem-sucedidos “ “