Tópicos Especiais em Estatística Comp.

Git e GitHub

Prof. Jodavid Ferreira

UFPE






Git e GitHub


Git



O Git é um DVCS (SCVD - Sistema de Controle de Versão Distribuído).


  • O Git é um projeto de código aberto e com manutenção ativa.
  • Ele permite que várias pessoas trabalhem em um projeto simultaneamente, controlando as mudanças feitas no código-fonte ao longo do tempo.

Git



  • Cada desenvolvedor pode ter uma cópia completa do repositório em seu próprio computador e trabalhar offline.


  • Além do fato de ser distribuído, o Git foi projetado pensando em desempenho, segurança e flexibilidade.


  • Possui como principais características do Git incluem ramificação eficiente, mesclagem simples e histórico de alterações completo.


Git



VCS Tradicional

GIT

Git



Por que utilizar o Git:

  • Controle de Versão: Permite rastrear as alterações no código ao longo do tempo.
  • Colaboração: Facilita o trabalho colaborativo, permitindo que vários desenvolvedores contribuam para um projeto simultaneamente.
  • Ramificação e Mesclagem: Facilita o desenvolvimento paralelo e a integração de novas funcionalidades sem interferir no código principal.
  • Histórico Completo: Mantém um histórico completo de todas as alterações, facilitando a identificação de problemas e a reversão para versões anteriores se necessário.

Git



Principais Conceitos:

  • Repositório: É um diretório que contém todos os arquivos e histórico de um projeto.
  • Commit: É uma alteração no código-fonte que é salva no repositório.
  • Branch: É uma ramificação do código-fonte que permite trabalhar em novas funcionalidades sem interferir no código principal.
  • Merge: É a operação de combinar duas ramificações em uma única ramificação.
  • Pull Request: É uma solicitação para mesclar as alterações de uma ramificação em outra.

Git



Por que usar o git?


  • Uma das maiores vantagens do Git são seus recursos de branch.

  • Os branches de recursos oferecem um ambiente isolado para cada alteração na base de código.

  • Quando um desenvolvedor quer começar a trabalhar em algo, não importa a complexidade, ele cria uma nova branch.

  • Assim, é garantido que o branch principal sempre contenha código de qualidade de produção.

Git



Por que usar o git?


  • O uso de branches de recursos não é apenas mais confiável do que a edição direta do código de produção; ele também traz benefícios organizacionais.

  • Eles permitem que você represente o trabalho de desenvolvimento com a mesma divisão que foi definida no inicio do projeto.

  • Isso significa que você pode rastrear o progresso de cada recurso individualmente, e não apenas como parte de um todo.

Git


1

Git


O que é um commit?

  • Um commit é um snapshot dos seus arquivos gravados no seu repositório local. Uma versão completa dos arquivos e a diferença entre os arquivos que mudaram é gravado. Para os arquivos que não mudaram de um commit para outro, o git salva apenas um link da cópia anterior idêntica.

Por que commits são importantes?

  • Acelera revisões de código
  • Ajuda a entender as mudanças
  • Facilita a identificação de bugs
  • Explica o “por que” que não pode ser escrito apenas com código
  • Ajuda a futuros colaboradores descobrir por que e como as mudanças foram feitas

Git



1

Git - Boas práticas


  1. Use a forma imperativa

Good: “Use InventoryBackendPool para recuperar o inventário do back-end”

Bad: “Usou InventoryBackendPool para recuperar o inventário do back-end”

Por quê?

A mensagem de commit diz o que ela faz, e não o que foi feito. Uma boa forma de começar a escrever o commit é usando:

Example:

If applied, this commit will: Use InventoryBackendPool to retrieve inventory backend

Git - Boas práticas


  1. Primeira letra em maiúsculo

Good: Adicionar método use ao modelo Credit

Um commit é uma frase, e toda frase começa com letra maiúscula, portanto é importante fazer o uso dessa regra.

  1. Comunique o que o commit faz sem que seja necessário olhar o conteúdo do commit

Good: Aumentar a margem esquerda entre a caixa de texto e a estrutura de layout

Bad: Ajustar o CSS

Git - Boas práticas


  1. Mantenha a consistência de Idioma

Good:

  • Add use method to Credit model.
  • Use InventoryBackendPool to retrieve inventory backend.
  • Fix method name of InventoryBackend child classes

Bad:

  • Usa o InventoryBackendPool para recuperar o backend de estoque
  • Add use method to Credit model
  • Agora vai

Git - Boas práticas


Semântica de Mensagens commit

Veja como uma pequena mudança no estilo da mensagem do seu commit pode torná-lo um programador melhor.

Formato: <type>(<scope>): <subject>

<scope> é opicional

Exemplo

feat: add hat wobble
^--^  ^------------^
|     |
|     +-> Resumo no tempo presente.
|
+-------> Type: chore, docs, feat, fix, refactor, style, or test.


add hat wobble: adicionar vibração ao chapéu (Se possível procure usar sempre inglês, pois é a língua mais utilizada no mundo da programação).

Git - Boas práticas


Como utilizar os tipos:

Tipos:

  • feat: (nova funcionalidade para o usuário, não uma nova funcionalidade para o script de construção)
  • fix: (correção de bug para o usuário, não uma correção para um script de construção)
  • docs: (alterações na documentação)
  • style: (formatação, ponto e vírgula ausente, etc.; nenhuma mudança no código de produção)
  • refactor: (refatoração do código de produção, por exemplo, renomear uma variável)
  • test: (adicionar testes ausentes, refatorar testes; nenhuma mudança no código de produção)
  • chore: (atualizar tarefas do grunt, etc.; nenhuma mudança no código de produção)

Git


Principais Comandos:

  • git init: Inicializa um repositório Git em um diretório.
  • git clone: Clona um repositório Git existente para o seu computador.
  • git add: Adiciona arquivos ao índice (staging area) para serem incluídos no próximo commit.
  • git commit: Salva as alterações no repositório.
  • git push: Envia as alterações locais para um repositório remoto.
  • git pull: Atualiza o repositório local com as alterações do repositório remoto.

Git



Principais Comandos:

  • git status: Exibe o status dos arquivos no repositório.
  • git log: Exibe o histórico de commits.
  • git branch: Exibe a lista de branches e permite criar, renomear e excluir branches.
  • git checkout: Muda para um branch específico ou restaura arquivos do repositório.
  • git merge: Combina duas ramificações em uma única ramificação.

Git



  • git pull request: Cria uma solicitação para mesclar as alterações de uma ramificação em outra.
  • git diff: Exibe as diferenças entre arquivos no repositório.
  • git reset: Desfaz as alterações no repositório.
  • git fetch: Busca as alterações do repositório remoto, mas não as mescla com o repositório local.

Git


1

Git



É possível fazer o download do Git no link abaixo:

Existe a versão para windows, Mac e Linux.

Alguns Softwares para utilizar IDE para GIT em Windows e Linux:




GITHUB


Github



GitHub é uma plataforma de hospedagem de código-fonte e colaboração para desenvolvedores. Ela foi lançada em 2008 e foi adquirida pela Microsoft em 2018.


  • GitHub não é GIT, mas sim uma plataforma que utiliza o Git para controle de versão, ou seja, é uma ferramenta que utiliza o Git para armazenar e compartilhar código.

  • O GitHub é uma plataforma baseada na web que permite que os desenvolvedores armazenem, compartilhem e colaborem em projetos de software.

  • Ele fornece recursos como controle de versão, rastreamento de problemas, wikis e integração contínua de forma gratuita para projetos de código aberto.

  • O GitHub é utilizado por milhões de desenvolvedores em todo o mundo para hospedar e colaborar em projetos de código aberto e privados.

Github



Por que é interessante e importante usar o Git em uma plataforma como GitHub?


  • Primeiramente porque manter os dados de projetos em um repositório remoto é uma prática recomendada para garantir a segurança dos dados.

  • Também pode atrair atenção da comunidade para o seu projeto, permitindo que outros desenvolvedores contribuam com o código.

  • A interação entre desenvolvedores é facilitada, pois o GitHub fornece recursos que tornam a jornada do desenvolvimento menos complexa.

Github



Principais Recursos do GitHub:

  • Repositórios: São os diretórios onde os arquivos do projeto são armazenados.
  • Issues: São problemas ou tarefas que precisam ser resolvidos no projeto.
  • Pull Requests: São solicitações para mesclar as alterações de uma ramificação em outra.
  • Wiki: É uma coleção de páginas que podem ser editadas por qualquer pessoa com acesso ao repositório.
  • Gists: São pequenos trechos de código que podem ser compartilhados com outras pessoas.

Github



  • Ter um ambiente seguro, gratuito e colaborativo, fez do GitHub uma das maiores plataformas de armazenamento e compartilhamento de código do mundo baseado em git.

Github



Github



Principais comandos para usar o GitHub:

  • git remote: Adiciona um repositório remoto.
  • git push: Envia as alterações locais para um repositório remoto.
  • git pull: Atualiza o repositório local com as alterações do repositório remoto.
  • git clone: Clona um repositório Git existente para o seu computador.
  • git fork: Cria uma cópia de um repositório remoto no seu próprio perfil do GitHub.

Github


Criando um passo a passo para utilizar o Git + GitHub:

  1. Criar um repositório no GitHub:
    • Acesse o GitHub e clique em “New Repository”.
    • Dê um nome ao repositório e clique em “Create Repository”.
  2. Clonar o repositório no seu computador:
    • Copie o link do repositório.
    • Abra o terminal e digite git clone <link do repositório>.
  3. Adicionar arquivos ao repositório:
    • Adicione os arquivos ao repositório com o comando git add.
    • Salve as alterações com o comando git commit.
  4. Enviar as alterações para o repositório remoto:
    • Envie as alterações para o repositório remoto com o comando git push.

Github


Alguns comandos Extras:

  1. Criar uma Pull Request:
    • Crie uma Pull Request para mesclar as alterações de uma ramificação em outra.
  2. Atualizar o repositório local:
    • Atualize o repositório local com as alterações do repositório remoto com o comando git pull.
  3. Atualizar o repositório remoto:
    • Atualize o repositório remoto com as alterações do repositório local com o comando git push.
  4. Fazer um Fork de um repositório:
    • Faça um Fork de um repositório remoto no seu próprio perfil do GitHub com o comando git fork.

Referências para serem utilizadas



Extras:

  • https://www.conventionalcommits.org/
  • https://seesparkbox.com/foundry/semantic_commit_messages
  • http://karma-runner.github.io/1.0/dev/git-commit-msg.html




OBRIGADO!


Slide produzido com quarto