Esse é um repositório que criei para concluir um desafio de um curso de Git e Github na plataforma DIO. Pretendo aproveitá-lo para resumir tudo que sei a respeito do Git e do Github, além de informações relacionadas. Há uma cópia do conteúdo contido aqui na wiki deste repositório, caso prefire ler por lá.
Para começar, é importante entender o que são as duas ferramentas utilizadas para controle de versão e colaboração de código:
- O que é:
- Sistema de controle de versões distribuído.
- Permite que os desenvolvedores acompanhem e gerenciem mudanças no código-fonte de um projeto ao longo do tempo, garantindo que diferentes versões de um software possam ser armazenadas e recuperadas.
- Função:
- Facilita o trabalho em equipe, permitindo que vários desenvolvedores trabalhem simultaneamente no mesmo projeto sem conflitos.
- Gerencia
- branches (ramificações);
- Commits (alterações);
- Merges (integrações).
- Tipo de plataforma:
- Ferramenta de controle de versões classificada como um sistema de versionamento de código.
- Version Control System (VCS).
- Ferramenta de controle de versões classificada como um sistema de versionamento de código.
- O que é:
- Plataforma de hospedagem de repositórios Git na nuvem
- Oferece uma interface web para gerenciamento de projetos Git, além de recursos como
- Colaboração em equipe;
- Issues (relatório de problemas);
- Pull requests (solicitação de integração de código);
- Integração com outros serviços (CI/CD).
- Função:
- Hospedar repositórios Git;
- Facilitar a
- colaboração;
- revisão de código;
- Permitir que projetos open-source sejam compartilhados publicamente ou privados;
- Serve como uma espécie de rede social para desenvolvedores.
- Tipo de plataforma:
- Plataforma de hospedagem de código e colaboração para projetos Git.
- Git é uma ferramenta de controle de versão local e distribuída.
- GitHub é uma plataforma baseada na web para armazenar, compartilhar e colaborar em projetos Git.
Esse desenho que fiz no excalidraw explica bem o funcionamento de maneira resumida:
- Primeiro um novo repositório é criado localmente com o comando git init pelo git ou lá no site do github de maneira remota.
- O git pode ser instalado aqui.
- Uma vez instalado, você só precisa criar um repositório, entrar nele, apertar o botão direito do mouse e clicar em abrir "abrir git bash aqui" para começar a brincadeira.
- O git pode ser instalado aqui.
- Feito isso, o repositório já é criado automaticamente na branch principal: a branch main
- A partir daí, cada contribuinte do projeto já pode clonar o repositório em uma máquina afim de trabalhar no código localmente ou editar pelo próprio github remotamente através do github.dev.
- Também é possível que usuários do Github façam um fork se o repositório for público. Quando um fork é feito, um clone do repositório original é feito no perfil do usuário.
- Uma outra habilidade possibilitada é criação de outras branchs além da main. Tais branchs podem ser utilizadas para desenvolvimento paralelo, sendo muito mais seguro fazer alterações arriscadas nela do que na principal, por exemplo.
- Isso torna possível fazer alterações drásticas sem afetar o código da main.
- Mais branchs normalmente são criadas para correção de algum bug ou adição de recursos.
- Bugs e necessidade de adição de recursos são descritos em issues, que são mensagens que podem ser escritas para que a equipe lembre de resolver algum problema.
- Quando uma branch perde o sentido de existência ela pode ser mesclada com outra branch, mas antes um pull request precisa ser criado. O pull request só será aceito se as alterações nas branchs não entrarem em conflito.
- Caso dê conflito, ele deve ser eliminado antes.
- Quando o pull request é aceito o merge(mesclagem) pode ser efetuado.
Caso queira aprender ainda mais sobre o conteúdo abordado, nesse repositório vou deixar alguns arquivos em markdown a respeito. Por enquanto todo conteúdo que eu estou deixando aqui partiu desse Gitbook aqui.
- O que é o Git e o Github
- Como o git e o github se relacionam
- Configuração do git depois de instalar
- Principais comandos do Git
- Autenticações do GitHub
- Tokens de Acesso Pessoal
- Configurando - Chave SSH
- Configurando - 2FA
- Colaboração com o Github
- Adicionar, Commitar e Enviar Arquivos para o Github
- Formatação com o Markdown
- Github Desktop
- Github Web
- Diferenças entre Github Desktop e Github Web