Módulo 10 · Aula 10.5 · GitHub: repositório e README
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 8 h/a | ⭐⭐ | GitHub (site), Git | C6, C7 |
Atenção, professor. Esta aula não foi testada na preparação desta versão do curso. Criar conta e repositório no GitHub exige aceitar os termos do site, e isso cabe à escola ou ao professor. Os passos seguem a documentação oficial do GitHub (docs.github.com). A parte do README (Parte A) não depende de conta e pode ser feita por todos. Faça o caminho completo uma vez com a conta da escola antes da aula e anote o que estiver diferente na tela.
Objetivos de aprendizagem
- Diferenciar Git (programa no computador) de GitHub (site que guarda repositórios).
- Escrever um README que apresenta o jogo.
- Criar um repositório no GitHub e enviar o histórico local para ele.
- Saber o que não publicar.
Pré-requisitos
Aulas 10.3 e 10.4.
Materiais
Git; repositório do Projeto 6; modelo atividades/modelos/README-do-jogo.md; conta no GitHub (da escola, ou do aluno com 13 anos ou mais e autorização, conforme a decisão da escola).
Conceitos
Git × GitHub. O Git guarda o histórico no seu computador. O GitHub é um site que guarda uma cópia do repositório na internet: serve de backup, para a equipe trabalhar junto e para mostrar o projeto. Existem outros sites parecidos; o curso usa o GitHub por causa do GitHub Pages (Aula 10.7).
Repositório remoto. A cópia na internet se chama origin. Enviar os commits é git push; trazer os commits dos colegas é git pull.
README. O arquivo README.md aparece logo na página do repositório. É a vitrine do projeto. Um bom README de jogo tem: nome e uma frase, imagem ou GIF, como jogar e controles, como abrir o projeto, versão da ferramenta, autores, créditos e licença.
O que não publicar. Senhas, chaves de acesso, telefone, endereço, foto de rosto de colega sem autorização, arquivos enormes (vídeos brutos, a pasta .godot/). Repositório público é público para o mundo inteiro, e apagar depois não garante que ninguém copiou.
Licença do projeto. Sem licença escrita, ninguém pode reaproveitar o código. A escola decide se os projetos dos alunos levam uma licença aberta. Recursos de terceiros mantêm a licença deles (Aula 9.2).
Exemplos
Os READMEs dos jogos de referência do curso (por exemplo, modulos/modulo-09-3d/projetos/chave-da-porteira/README.md) seguem o modelo: tabela de abertura, telas, regras, arquivos com origem e licença, testes realizados, histórico de correções.
Tutorial passo a passo
Parte A. README (todos, sem conta) (120 min)
- Copie
atividades/modelos/README-do-jogo.mdpara a pasta do Projeto 6 com o nomeREADME.mde preencha. - Troque com a dupla: só lendo o README, ela consegue abrir e jogar o seu projeto?
- Faça o commit do README.
Parte B. Repositório no GitHub (com a conta definida pela escola) (140 min)
- No GitHub, crie um repositório novo, vazio (sem README, sem
.gitignore, porque eles já existem no seu computador). - O GitHub mostra os comandos para "enviar um repositório que já existe". No Git Bash, na pasta do projeto, eles são parecidos com:
git remote add origin ENDERECO-DO-REPOSITORIOgit push -u origin main- O Windows abre uma janela para entrar na conta do GitHub. Quem digita a senha é o dono da conta.
- Atualize a página do repositório: o README aparece com o histórico de commits.
Parte C. Rotina (60 min)
- Mude algo, faça o commit e
git push. Confira no site. - Em dupla com o mesmo repositório (conta da escola, colaboradores): um faz
push, o outro fazgit pulle vê a mudança chegar.
Imagens
Não há capturas do GitHub nesta versão do curso.
Indicação da interface
| Item | Onde |
|---|---|
| criar repositório | no site, botão de novo repositório (os nomes exatos não foram conferidos) |
| ligar o computador ao site | git remote add origin ENDERECO |
| enviar | git push -u origin main (a primeira vez); depois só git push |
| trazer | git pull |
O código completo
Não há código de jogo. O modelo de README está em atividades/modelos/README-do-jogo.md.
Explicação do código
-u origin main na primeira vez diz ao Git que o ramo main do computador anda junto com o main do site. Depois disso, git push e git pull sem nada mais já sabem para onde ir.
Resultado esperado
README completo no Projeto 6 e, onde a escola tiver liberado a conta, o repositório no GitHub com o histórico.
Problemas comuns
| Sintoma | Causa provável | Solução |
|---|---|---|
push recusado porque o site tem commits que o computador não tem | o repositório foi criado com README ou .gitignore | criar vazio; ou git pull antes |
| pede senha e recusa a senha da conta | o GitHub não aceita a senha da conta nesse ponto | usar a janela de entrada do Git para Windows, ou seguir a orientação de autenticação da documentação oficial |
a pasta .godot/ foi parar no site | .gitignore faltando no primeiro commit | Aula 10.3, problemas comuns |
Exercício guiado
Por que o repositório no site deve ser criado vazio? (Resposta: o histórico já existe no computador; se o site criar um README próprio, as duas histórias começam diferentes e o push é recusado.)
Desafio individual
Coloque no README um GIF do jogo (Aula 10.6).
Desafio avançado (opcional)
Abra uma "issue" no repositório de um colega com um relatório de falha da Aula 10.2.
Critérios de avaliação
- README que permite a outra pessoa abrir e jogar.
- Repositório no ar (quando liberado) sem dados pessoais nem
.godot/.
Checklist de conclusão
Extensão
Escolha um projeto famoso de jogo de código aberto e leia o README dele. O que você copiaria para o seu?