Módulo 1: Por que Git existe, e pegar o código
O modelo mental, instalar, e trazer um repositório para a sua máquina
O problema que o Git resolve
Você já viveu isso com documentos:
plano_de_teste.docx
plano_de_teste_v2.docx
plano_de_teste_v2_FINAL.docx
plano_de_teste_v2_FINAL_agora_vai.docx
plano_de_teste_revisado_joao.docx
Ninguém sabe qual é o atual, ninguém sabe o que mudou entre um e outro, e se duas pessoas editam ao mesmo tempo alguém perde trabalho.
Git é o sistema que resolve isso para código. Ele guarda a história inteira do projeto: cada mudança, quem fez, quando, e por quê. Dá pra voltar no tempo, comparar duas versões linha a linha, e trabalhar em paralelo sem pisar no pé de ninguém.
Git ≠ GitHub
Git é o programa que roda na sua máquina e controla as versões. GitHub é um site que hospeda repositórios Git na internet, e acrescenta coisas em volta: Pull Requests, revisão de código, issues e, o que mais importa pra QA, o CI, que roda os testes sozinho a cada mudança. Existem concorrentes (GitLab, Bitbucket) com as mesmas ideias.
O vocabulário mínimo
| Palavra | O que é |
|---|---|
| repositório (repo) | a pasta do projeto, com toda a história junto |
| commit | um ponto salvo na história: um conjunto de mudanças com uma mensagem explicando |
| branch (ramo) | uma linha paralela de trabalho, pra você mexer sem afetar o principal |
main | o branch principal, o que vale. (Em projetos antigos pode se chamar master.) |
| clone | baixar um repositório inteiro, com história, pra sua máquina |
| fork | fazer uma cópia sua de um repositório de outra pessoa, na sua conta do GitHub |
| push / pull | enviar seus commits pro servidor / trazer os commits dos outros |
| Pull Request (PR) | o pedido "revisem e aceitem minhas mudanças". É onde o CI mostra ✓ ou ✗ |
Não precisa decorar agora: você vai usar cada um nos próximos dois módulos.
1. Instalar
Antes de tudo, veja se já tem. Abra o terminal e digite:
git --version
Se responder algo como git version 2.45.1, pule para o passo 2.
- Windows: baixe em
git-scm.com/download/win. Pode aceitar todas as opções padrão do instalador. Ele instala junto o Git Bash, um terminal que entende os mesmos comandos do Linux/macOS, use ele para seguir este curso, evita metade dos problemas. - macOS:
brew install git, ou simplesmente digitegitno terminal e aceite instalar as ferramentas de linha de comando. - Linux:
sudo apt install git(ou o gerenciador da sua distribuição).
Depois de instalar, diga ao Git quem é você: esse nome vai em todo commit que você fizer:
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
2. Criar a conta e fazer o fork
Crie uma conta em github.com (gratuita). Depois, no repositório do
curso, clique no botão Fork, no canto superior direito.
Por que fork e não só clone? Você não tem permissão pra enviar mudanças no repositório de outra pessoa. O fork cria uma cópia na sua conta, onde você manda. É lá que você vai commitar, e é lá que os pipelines de CI vão rodar com o seu nome, o que a Trilha de CI/CD precisa.
Depois do fork, o endereço do seu repositório é
github.com/SEU-USUARIO/HardSkillsQA.
3. Clonar para a sua máquina
No seu fork, clique no botão verde Code e copie o endereço HTTPS. Então, no terminal, vá até a pasta onde você guarda projetos e rode:
cd Documentos # ou onde você quiser guardar
git clone https://github.com/SEU-USUARIO/HardSkillsQA.git
cd HardSkillsQA
Pronto: a pasta está na sua máquina, com a história inteira. Confira com:
ls # lista os arquivos (dir, no cmd do Windows)
git status # mostra em que estado o repositório está
git log --oneline -5 # os 5 últimos commits, um por linha
Por que isso importa pro curso: as trilhas de pytest e k6
rodam a partir desses arquivos, e o banco que os testes usam mora em
pratica/pratica.db, por isso precisa ser o repositório inteiro,
não só uma pasta baixada solta.
Erros comuns nesta etapa
| Mensagem | O que é / correção |
|---|---|
'git' não é reconhecido… | o Git não está instalado ou não está no PATH. Feche e reabra o terminal depois de instalar; no Windows, use o Git Bash. |
repository not found | endereço errado, ou você copiou o do repositório original sem ter feito o fork. Confira se aparece o seu usuário na URL. |
Permission denied ao dar push | você clonou o repositório de outra pessoa em vez do seu fork. Faça o fork e clone de novo a partir dele. |
| pede usuário e senha e recusa a senha | o GitHub não aceita mais a senha da conta no terminal. Gere um Personal Access Token (Settings → Developer settings → Tokens) e use o token no lugar da senha. |
| clonou dentro do OneDrive e ficou lento/estranho | prefira uma pasta fora de pastas sincronizadas: a sincronização briga com os arquivos internos do Git. |
Olhar de QA
Git não é "coisa de quem desenvolve". Para QA ele é a porta de entrada de três coisas do dia a dia: ler o diff de um Pull Request pra saber o que realmente mudou (e portanto o que testar), versionar seus próprios testes automatizados, e entender o vermelho do CI. Quem não passa dessa porta fica dependendo de alguém contar o que mudou, e o que contam nunca é a lista completa.