Sistemas de Controle de Versão
Gerenciam as versões de um arquivo ao longo do tempo
- registra histórico de atualizações de um arquivo
- gerencia as alterações, a data, o autor
- proporciona organização, controle e segurança
Tipos de Sistemas de Controle
- VCS Centralizado
- Apenas um servidor central que tem todas as versões do arquivo e as áreas de trabalho locais precisam estar conectadas ao servidor
- VCS Distribuído
- Cada banco de versão é copiado localmente e todos que colaboram com a edição do arquivo tem acesso remoto a tudo do banco, incluindo o histórico das versões. Cada clone funciona como um backup, possibilita um fluxo de trabalho flexível e sem conexão à rede.
GitHub
Plataforma de hospedagem de código para controle de versão com o Git e colaboração
readme.so - para criar readme personalizados para os projetos hospedados
Autenticação via Token
- Token únicos com limitações de usos, individuais e aleatórios, o que fornece segurança contra ataques de invasão de força bruta
- Ao tentar clonar um repositório como privado com usuário e senha, um erro é retornado sobre a falta de suporte para esse tipo de autenticação
- Nas configurações do desenvolvedor na opção de tokens de acesso pessoal, utiliza-se a opção de gerar novo token. Após se autenticar no GitHub, configura-se o token com tempo de expiração, nome e escopo de permissões para o uso do token.
- O token é exibido apenas uma vez por motivos de segurança, logo pode-se salvar as credenciais
git config --location credential.helper cache - salva temporariamente
git config --location credential.helper store - salva permanentemente
uma vez feita essa configuração e realizado um clone com token, ele será salvo e não mais solicitado em outras interações com o github
Autenticação via chave SSH
Conexão via protocolo que se conecta de forma criptografada
- Nas configurações na aba de chaves SSH e GPG, tem a opção de criar uma nova chave SSH. Primeiro é importante verificar se há chaves existentes SSH na máquina.
ls -a ~/.ssh - lista os arquivos dessa pasta se houver
- Para criar a chave
ssh-keygen -t ed25519 -C "e-mail" - comando para criar a chave com a criptografia devida, no diretório C e com o e-mail do github. Deixar o local padrão e fornecer uma frase padrão de segurança