DEV Community

Ênrell
Ênrell

Posted on • Edited on

Git + GitHub para iniciantes

O que é GitHub?

O GitHub é uma plataforma de desenvolvimento baseada em Git. Na prática, ele funciona como um grande hub onde desenvolvedores armazenam código, colaboram em projetos e automatizam processos relacionados ao desenvolvimento de software. Ele é utilizado tanto por pessoas físicas quanto por empresas, em projetos pequenos ou de grande escala.

Apesar de ser a plataforma mais conhecida, o GitHub não é a única solução disponível. Existem outras plataformas que oferecem ferramentas semelhantes, como SourceForge, Bitbucket, GitLab — que não pertence à Microsoft e não é um complemento do GitHub — e o GNU Savannah, voltado principalmente para projetos de software livre.

Ferramentas

Uma das funcionalidades centrais do GitHub é o sistema de armazenamento de código por meio dos chamados repositórios. Os repositórios são responsáveis por guardar o código-fonte de uma aplicação de forma segura, versionada e distribuída.

Por utilizar o Git como base, o GitHub herda um modelo de controle de versão distribuído. Isso permite que várias pessoas trabalhem no mesmo projeto ao mesmo tempo, cada uma com sua própria cópia do repositório, sem que o trabalho de uma interfira diretamente no da outra.

Além do versionamento, o GitHub facilita bastante a colaboração entre desenvolvedores. É possível contribuir com projetos, propor alterações no código, revisar mudanças feitas por outras pessoas e discutir decisões técnicas diretamente na plataforma.

Outro ponto importante é o rastreamento de problemas. As chamadas issues são usadas para organizar tarefas, registrar bugs, planejar melhorias e centralizar discussões relacionadas ao projeto. Isso ajuda muito na comunicação e na organização do trabalho, principalmente em equipes.

Quando alguém propõe uma alteração no código, normalmente isso é feito por meio de um pull request. Esse recurso permite que o código seja revisado antes de ser incorporado ao projeto principal, reduzindo erros e melhorando a qualidade do software.

O GitHub também oferece suporte à integração contínua. Isso significa que é possível configurar processos automatizados para testar, validar e construir o código sempre que uma alteração é enviada ao repositório. Dentro desse contexto, o GitHub Actions se destaca como uma ferramenta nativa que permite automatizar fluxos de trabalho como testes, build e deploy diretamente na plataforma.

Outro detalhe importante é o licenciamento. A maioria dos repositórios inclui um arquivo LICENSE, que define como o código pode ser usado, modificado e redistribuído por outras pessoas. Isso é essencial tanto para projetos open source quanto para projetos privados.

É seguro?

O GitHub adota diversas práticas de segurança para proteger tanto os usuários quanto os projetos hospedados na plataforma.

Uma das formas mais comuns de autenticação é o uso de chaves SSH. Esse método utiliza um par de chaves, uma pública e uma privada. A chave pública é associada à sua conta no GitHub, enquanto a chave privada permanece apenas no seu computador. A autenticação acontece sem que você precise informar sua senha a cada operação.

Além disso, o GitHub permite configurar permissões de acesso nos repositórios. É possível definir quem pode apenas visualizar o código, quem pode enviar alterações e quem pode administrar o projeto. Isso garante que apenas pessoas autorizadas tenham acesso a determinadas ações.

A plataforma também oferece autenticação em dois fatores, adicionando uma camada extra de segurança ao exigir uma segunda forma de verificação além da senha. Somado a isso, o GitHub mantém políticas de segurança ativas, monitorando atividades suspeitas e aplicando medidas para reduzir riscos.

Outro ponto relevante é a realização de backups regulares, que ajudam a evitar perda de dados em caso de falhas na infraestrutura.

Como criar um repositório no GitHub?

A forma mais indicada de criar um repositório é diretamente pelo site do GitHub. O processo é simples e guiado.

Durante a criação, você define o nome do repositório, que deve conter apenas letras, números e alguns caracteres especiais como ponto, hífen ou underline. Também é possível adicionar uma descrição, que ajuda outras pessoas a entenderem rapidamente o objetivo do projeto.

É altamente recomendável criar o repositório já com um arquivo README. Esse arquivo funciona como a porta de entrada do projeto, explicando o que ele faz, como usar e, em muitos casos, como contribuir.

Caso você já tenha um projeto pronto no seu computador, o fluxo costuma ser criar o repositório com o README, clonar esse repositório localmente, copiar os arquivos do projeto para dentro da pasta clonada e então enviar tudo para o GitHub com um push.

Importando um projeto e enviando para o GitHub

Antes de enviar código para o GitHub de forma segura, o ideal é configurar a autenticação via SSH. Para entender melhor os conceitos envolvidos, vale a pena ler um material introdutório sobre SSH.

O primeiro passo é gerar um par de chaves SSH. O algoritmo recomendado atualmente é o ed25519, por ser mais moderno e seguro. Isso pode ser feito com o seguinte comando:

ssh-keygen -t ed25519
Enter fullscreen mode Exit fullscreen mode

Durante o processo, o sistema perguntará onde a chave deve ser salva. Na maioria dos casos, manter o caminho padrão é a melhor escolha. Se quiser, você pode apenas alterar o nome do arquivo. Esse arquivo será sua chave privada e não deve ser compartilhado com ninguém.

Em seguida, você deverá definir uma senha para proteger essa chave. Essa senha será solicitada sempre que a chave for utilizada, então é importante não esquecê-la. O uso de um gerenciador de senhas é altamente recomendado.

Após isso, o sistema criará automaticamente a chave pública, que terá a extensão .pub e ficará no mesmo diretório da chave privada.

Durante a geração da chave, também será exibido um fingerprint. O fingerprint é uma representação curta e única da chave SSH, usada para verificar sua autenticidade. Como estamos apenas criando uma chave local, essa informação não exige atenção especial neste momento.

Com a chave criada, basta copiar todo o conteúdo da chave pública e adicioná-la nas configurações da sua conta no GitHub, na seção de chaves SSH. Nessa etapa, você define um nome para a chave e cola o conteúdo copiado no campo correspondente.

Depois disso, sua conta estará configurada para autenticação via SSH.

Clonando repositórios via SSH

Com a chave SSH configurada, você pode clonar repositórios utilizando a URL SSH fornecida pelo GitHub. A partir desse momento, será possível enviar commits para o repositório remoto de forma segura, sem a necessidade de informar usuário e senha a cada operação.

Esse fluxo torna o uso do Git mais prático e alinhado com as boas práticas de segurança adotadas atualmente.

Próximos capítulos

No próximo capítulo, vamos sair um pouco da prática e mergulhar na teoria do Git. A ideia é explicar como o controle de versão funciona e como os conceitos que usamos hoje surgiram e evoluíram ao longo do tempo.

Top comments (0)