Guia de Configuração Inicial: Git e GitHub (Windows)

Invalid Date

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” — Martin Fowler

Esta é uma clássica citação de Martin Fowler, um dos mais influentes pensadores da engenharia de software moderna. Em uma tradução livre:

Qualquer tolo pode escrever código que um computador entende. Bons programadores escrevem código que humanos entendem.

A citação de Fowler vai além da simples elegância do código; ela toca no coração do desenvolvimento de software como uma atividade colaborativa e duradoura. Um programa não é apenas um conjunto de instruções para uma máquina, mas também um documento vivo que será lido, modificado e mantido por outras pessoas — ou por você mesmo, meses depois.

Como, então, garantimos que a história e a evolução de nosso código sejam tão compreensíveis quanto o próprio código? A resposta está no controle de versão, e a ferramenta padrão da indústria para essa tarefa é o Git.

O Git é o sistema que permite registrar "fotografias" do seu projeto ao longo do tempo, entender quem alterou o quê e por quê, e colaborar de forma organizada com equipes de qualquer tamanho. No entanto, o Git por si só é apenas a ferramenta local. Para levar a colaboração a um nível global, utilizamos plataformas como o GitHub, que funciona como uma grande rede social para repositórios de código, permitindo que desenvolvedores de todo o mundo hospedem, compartilhem e contribuam para projetos de forma centralizada.

Este guia é para mim?

Se seu objetivo é apenas explorar projetos públicos ou baixar o código-fonte de uma ferramenta no GitHub, você não precisa de nenhuma configuração especial. A plataforma funciona como qualquer outro site de download.

Contudo, para se tornar um participante ativo no ecossistema de desenvolvimento — seja para contribuir com um projeto de código aberto, trabalhar em uma equipe ou simplesmente para salvar seus próprios projetos de forma segura na nuvem — você precisará estabelecer um canal de comunicação seguro e autenticado entre sua máquina local (onde o Git opera) e os servidores do GitHub.

Este guia é focado exatamente nisso: configurar a ponte segura que lhe permitirá não apenas consumir, mas também criar e colaborar.

[!TIP]

Usando Linux? Veja este tutorial focado em Linux ou WSL.

Nosso Ponto de Partida e o Caminho a Seguir

Este artigo assume que você já compreendeu a importância fundamental do controle de versão e está pronto para configurar seu ambiente de desenvolvimento profissionalmente.

Pré-requisitos:

Para acompanhar este tutorial, você já deve ter realizado dois passos essenciais:

Objetivo:

Ao final deste guia, teremos estabelecido uma conexão segura e permanente entre o cliente Git em sua máquina e sua conta no GitHub. Para isso, vamos:

  1. Realizar a instalação e a configuração inicial de identidade no Git;

  2. Gerar um par de chaves criptográficas (SSH) para garantir uma comunicação segura e sem a necessidade de senhas;

  3. Configurar sua máquina para usar a chave privada e o GitHub para reconhecer sua chave pública;

  4. Garantir que seu ambiente local está totalmente autenticado e pronto para interagir com qualquer repositório ao qual você tenha acesso.

Objetivo:

Ao final deste guia, teremos estabelecido uma conexão segura e permanente entre o cliente Git em sua máquina e sua conta no GitHub. Para isso, vamos:

  1. Realizar a configuração inicial de identidade no Git;

  2. Gerar um par de chaves criptográficas (SSH) para garantir uma comunicação segura e sem a necessidade de senhas;

  3. Configurar sua máquina para usar a chave privada e o GitHub para reconhecer sua chave pública;

  4. Garantir que seu ambiente local está totalmente autenticado e pronto para interagir com qualquer repositório ao qual você tenha acesso.

Instruções

Passo 1: Instalação e Configuração de Identidade

Antes de estabelecermos a ponte segura com o GitHub, precisamos garantir que o Git esteja corretamente instalado e que saiba quem você é. Toda contribuição que você fizer será assinada com essa identidade.

1.1. Instalando o Git for Windows

Primeiro, vamos instalar o cliente Git em sua máquina. Para Windows, o pacote Git for Windows é a escolha padrão, pois inclui não apenas o Git, mas também o Git Bash, um terminal que nos dá acesso a comandos essenciais como ssh-keygen, de forma muito similar a ambientes Linux.

  1. Acesse o site oficial: https://git-scm.com/download/win

  2. O download do instalador deve começar automaticamente. Execute-o.

  3. Durante a instalação, você pode manter as opções padrão na maioria das telas. Elas são seguras e adequadas para a maioria dos usuários.

Após a instalação, procure por "Git Bash" no menu Iniciar e abra-o. Todos os comandos a seguir deverão ser executados neste terminal.

Para verificar se a instalação foi bem-sucedida, execute:

git --version

Você deverá ver a versão do Git instalada, como git version 2.42.0.windows.1.

1.2. Configurando sua Identidade

Agora, vamos nos apresentar ao Git. As informações de nome e e-mail que você configurar aqui serão usadas para "assinar" todos os seus commits, registrando sua autoria no histórico do projeto.

É crucial que o e-mail seja o mesmo associado à sua conta do GitHub.

Execute os seguintes comandos no Git Bash, substituindo os valores de exemplo pelos seus dados reais:

git config --global user.name "Seu Nome Completo"

git config --global user.email "seu-email@exemplo.com"

A flag --global garante que essa configuração seja aplicada para todos os seus projetos Git nesta máquina, evitando que você precise repeti-la a cada novo repositório.

Passo 2: Criando a Ponte Segura com Chaves SSH

A interação com o GitHub requer autenticação. Em vez de usar senhas, que podem ser inseguras e pouco práticas, usaremos o protocolo SSH (Secure Shell).

O SSH funciona com um par de chaves criptográficas: uma privada e uma pública.

Quando sua máquina tenta se conectar ao GitHub, ela envia uma mensagem assinada com sua chave privada. O GitHub usa a chave pública (o cadeado) que você forneceu para verificar essa assinatura. Se a verificação for bem-sucedida, o GitHub tem a certeza de que a conexão vem de você e autoriza o acesso.

Referência: Documentação oficial do GitHub sobre conexão com SSH

2.1. Gerando seu Par de Chaves

Vamos criar as chaves no Git Bash. O comando a seguir utiliza o algoritmo ed25519, que é moderno e seguro.

# Substitua pelo seu e-mail do GitHub
ssh-keygen -t ed25519 -C "seu-email@exemplo.com"

O ssh-keygen fará algumas perguntas:

  1. Enter file in which to save the key...: Pressione Enter para aceitar o local padrão (/c/Users/SEU_USUARIO/.ssh/id_ed25519). É o local que o sistema espera encontrar a chave.

  2. Enter passphrase (empty for no passphrase):: Aqui você pode definir uma senha para sua chave SSH.

    • Recomendado: Digite uma senha segura. Isso adiciona uma camada extra de proteção. Se alguém conseguir acesso à sua máquina e copiar sua chave privada, ainda precisará dessa senha para usá-la.

    • Alternativa: Pressione Enter (deixando em branco) se estiver em uma máquina pessoal e segura, e prefere não digitar a senha a cada conexão.

Ao final, dois arquivos terão sido criados no diretório C:\Users\SEU_USUARIO\.ssh\.

2.2. Iniciando o Agente SSH e Adicionando sua Chave

Para que você não precise digitar a senha da sua chave SSH toda vez que se conectar, usamos o ssh-agent, um programa que a mantém em memória de forma segura durante sua sessão.

Primeiro, inicie o agente em segundo plano no Git Bash:

eval "$(ssh-agent -s)"

Em seguida, adicione sua chave privada ao agente:

ssh-add ~/.ssh/id_ed25519

Se você definiu uma senha no passo anterior, ela será solicitada agora.

2.3. Adicionando sua Chave Pública ao GitHub

O último passo é informar ao GitHub qual é a sua chave pública.

Primeiro, copie o conteúdo da sua chave pública para a área de transferência. No Git Bash, podemos usar o comando clip:

clip < ~/.ssh/id_ed25519.pub

Se o comando acima falhar, apenas exiba o conteúdo no terminal com cat ~/.ssh/id_ed25519.pub e copie-o manualmente (selecione todo o texto do início ssh-ed25519 até o final com seu e-mail, e pressione Ctrl+C).

O conteúdo copiado será algo como: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK... seu-email@exemplo.com

Agora, com a chave copiada, siga os passos no site do GitHub:

  1. Acesse o GitHub e faça login.

  2. Clique na sua foto de perfil no canto superior direito e vá para Settings.

  3. No menu esquerdo, clique em SSH and GPG keys.

  4. Clique no botão verde New SSH key.

Ou, simplesmente, acesse https://github.com/settings/ssh/new. Estamos nesta tela:

Captura de tela da página de configurações do GitHub, na seção "SSH and GPG keys". O formulário "Adicionar nova chave SSH" está visível, com o campo "Título" preenchido como "Laptop Pessoal Ubuntu" e uma chave pública SSH colada no campo "Key".

  1. No campo Title, dê um nome descritivo para a chave, que ajude a identificar de qual máquina ela vem (ex: "Laptop Pessoal Windows" ou "Desktop Trabalho").

  2. No campo Key, cole a chave pública que você copiou.

  3. Clique em Add SSH key. O GitHub pode pedir sua senha para confirmar a ação.

Passo 3: Verificando a Conexão

Tudo está configurado! Agora, vamos realizar um teste final para garantir que sua máquina consegue se comunicar e se autenticar com o GitHub via SSH.

Execute o seguinte comando no Git Bash:

ssh -T git@github.com

Na primeira vez, você poderá ver um aviso como:

The authenticity of host 'github.com (IP_ADDRESS)' can't be established.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Isso é normal. Digite yes e pressione Enter.

Se tudo deu certo, você receberá uma mensagem de boas-vindas:

Hi seu-usuario! You've successfully authenticated, but GitHub does not provide shell access.

Parabéns! Sua máquina está totalmente configurada para interagir de forma segura com o GitHub. Você está pronto para clonar repositórios privados, enviar suas alterações (push) e colaborar no ecossistema de desenvolvimento.