O que é GitHub?
O GitHub é uma plataforma de desenvolvimento baseado em Git, lá você encontra uma gama de ferramentas úteis para o desenvolvimento de qualquer tipo de aplicação, para pessoas e empresas.
O GitHub não é a única plataforma desse tipo, existem diversas plataformas que oferecem essas ferramentas. Sites que oferecem ferramentas semelhantes: SourceForge, Bitbucket, GitLab (não é da Microsoft e não é um complemento ao GitHub) e GNU Savannah (destinado a projetos de software livre).
Ferramentas
Uma das principais ferramentas é o sistema de armazenamento, os repositórios ou (Repositories), eles são responsáveis por guardar sua aplicação de forma segura e distribuída, Algumas das principais características e funcionalidades do GitHub incluem:
- Controle de Versão Distribuído: O GitHub utiliza o Git, um sistema de controle de versão distribuído que permite que várias pessoas trabalhem em um projeto simultaneamente, sem interferir no trabalho um do outro.
- Colaboração: O GitHub facilita a colaboração entre desenvolvedores. Vários desenvolvedores podem contribuir para um projeto, propor alterações (pull requests), relatar problemas (issues) e discutir questões relacionadas ao desenvolvimento.
- Rastreamento de Problemas: Os problemas (issues) são usados para rastrear tarefas, bugs, melhorias e outras discussões relacionadas ao projeto. Isso ajuda a organizar o trabalho e facilita a comunicação entre os membros da equipe.
- Pull Requests: Os pull requests são usados para propor e discutir alterações no código-fonte. Eles permitem que os desenvolvedores revisem as alterações feitas por outros antes de serem mescladas no projeto principal.
- Integração Contínua: O GitHub suporta integração contínua, o que significa que os desenvolvedores podem configurar pipelines (conjunto de processos e ferramentas automatizados) para testar e construir seu código sempre que uma alteração é proposta.
- GitHub Actions: Uma funcionalidade que permite a automação de fluxos de trabalho, como testes, compilação e implantação diretamente no GitHub.
- Licenciamento: Os repositórios do GitHub muitas vezes incluem informações sobre a licença do software, ajudando a definir como o código pode ser usado por outras pessoas. Você pode definir uma licença através do arquivo LICENSE.
É seguro?
Chaves SSH: O GitHub usa chaves SSH para autenticação. As chaves SSH são pares de chave pública e privada, e o GitHub autentica você com base na chave pública associada à sua conta.
Controle de Acesso: O GitHub permite que você configure permissões de acesso para seus repositórios. Você pode controlar quem pode visualizar, clonar, enviar alterações ou administrar um repositório. Isso ajuda a garantir que apenas pessoas autorizadas possam interagir com o código.
Autenticação em Dois Fatores (2FA): O GitHub suporta autenticação em dois fatores, que adiciona uma camada adicional de segurança ao exigir uma segunda forma de autenticação além da senha.
Políticas de Segurança: O GitHub implementa práticas de segurança e monitora constantemente a atividade para identificar e responder a potenciais ameaças.
Backup: O GitHub realiza backups regulares dos dados para evitar perdas de dados em caso de falhas nos servidores.
Como criar um repositório no GitHub?
A forma mais indicada para a criar um repositório no GitHub é através do próprio site do GitHub:
-
Nome do Repositório: Escolha um nome usando apenas letras, números,
.
,-
ou_
. - Descrição (Opcional): Adicione uma descrição ao seu projeto.
- README: Marque a opção para incluir um README, um arquivo de texto que descreve seu projeto.
- Importação de Projeto Existente: Se já tem um projeto, crie o repositório com README para facilitar. Depois, clone para seu computador, copie os arquivos do projeto para a pasta do repositório e faça o "push" para o GitHub.
Criei um repositório de exemplo
Importando um projeto e subindo para o GitHub
O primeiro passo é criar um par de chaves, leia o capitulo SSH para iniciantes para entender melhor.
- Começamos gerando um par de chaves SSH utilizando o algoritmo "ed25519" de preferência.
ssh-keygen -t ed25519
- A ferramenta vai lhe perguntar onde você quer guardar essa chave no seu sistema, recomendo que deixe no caminho padrão da seu sistema, você pode definir o nome da sua chave colocando o caminho padrão e substituindo o id_ed25519 pelo nome da sua chave, como por exemplo "github-key", essa vai ser sua chave privada, você não deve compartilhar ela com ninguém.
- No próximo passo, defina uma senha para sua chave privada, toda vez que você for usar-la terá que colocar a sua respectiva senha, tenha sempre certeza de que não irá esquecer a sua senha, recomendo o uso de um gerenciador de senhas como o (Bitwarden).
- No próximo passo, a ferramenta vai criar automaticamente a chave pública no mesmo diretório que você definiu inicialmente.
- Depois vai imprimir no seu terminal um fingerprint, o fingerprint de uma chave SSH é uma representação única e curta da chave. É uma sequência de caracteres que serve como uma espécie de "impressão digital" da chave. O fingerprint é usado para verificar a autenticidade da chave e garantir que ela não tenha sido alterada. É comumente usada na primeira conexão com um servidor remoto, para evitar ataques (man-in-the-middle). Estamos apenas criando uma chave no seu computador local, portanto essa preocupação pode ser ignorada, existem outras ameaças mais graves, como malwares ou ransomwares.
- Você deve copiar todo o texto da chave pública que tem a extensão ".pub" para colar na sessão de SSH do GitHub.
Segue o caminho:
Nessa ultima etapa você deve definir um nome para a nova chave SSH, e colar a chave pública para o campo correspondente.
E pronto! você adicionou uma nova forma de autenticação no GitHub, agora você pode clonar os seus repositórios usando o clone via SSH:
Dessa forma, você poderá usar o Git para enviar seus commit's de forma segura para seu repositório remoto no GitHub!
Próximos capítulos
Para o próximo capítulo, vamos mergulhar na pura teoria do Git, e vamos resumir o controle de versão que conhecemos nos dias atuais.
Top comments (0)