O Que É o GitHub? Controlo de Versões Para Não Programadores
GitHub é um site que guarda o código de projetos de software juntamente com todo o seu histórico, para poder ver cada alteração, desfazer erros e trabalhar no mesmo projeto com outras pessoas. Assenta no Git, um software gratuito que regista instantâneos dos ficheiros de um projeto ao longo do tempo. O Git é a ferramenta que mantém o histórico; o GitHub é a casa online onde esse histórico é partilhado, guardado em segurança e discutido.
Se cria apps com IA, o GitHub serve sobretudo para duas coisas: ter uma cópia própria do seu código fora da ferramenta onde o criou, e entregá-lo a um programador no formato que ele já usa.
Porque é importante quando cria com IA
Um construtor de apps com IA escreve e altera muito código depressa, e nem toda a alteração é uma melhoria. O controlo de versões é a forma de manter isso seguro.
- Desfazer com confiança. Cada alteração guardada é um instantâneo. Se a IA estragar alguma coisa, volta ao último que estava bom.
- Propriedade. O código na sua conta do GitHub continua a ser seu se mudar de ferramenta, deixar de pagar por uma ou quiser uma segunda opinião.
- Trabalhar com programadores. Quase todos os programadores usam o Git diariamente. Um repositório permite-lhes rever o que a IA escreveu, corrigi-lo e devolver as alterações.
- Publicar noutro sítio. Muitas plataformas de alojamento conseguem publicar diretamente a partir de um repositório do GitHub.
Uma analogia do dia a dia: controlo de alterações e uma pasta partilhada
Pense num documento com o controlo de alterações ativado, guardado numa pasta partilhada.
- O Git é o controlo de alterações: cada edição fica registada, com quem a fez, quando e porquê, e pode voltar a qualquer versão.
- O GitHub é a pasta partilhada: o documento fica online, outras pessoas podem obter uma cópia, e há um sítio para comentar e aprovar.
- Um branch (ramo) é como guardar uma cópia chamada «rascunho — nova secção de preços» para experimentar sem tocar na versão de que todos dependem. Se a experiência correr bem, junta-a de volta.
A diferença em relação a um documento é a escala. Uma app tem centenas de ficheiros, e o Git acompanha todos em conjunto, por isso um instantâneo é o estado do projeto inteiro de uma só vez.
Termos de Git e GitHub que vai encontrar
| Termo | Significado simples |
|---|---|
| Repositório (repo) | Uma pasta de projeto com todo o seu histórico |
| Commit | Um instantâneo guardado de alterações, com uma mensagem curta a descrevê-las |
| Branch | Uma linha de trabalho separada, para que as experiências não perturbem a versão principal |
| main | O nome habitual do ramo principal — a versão que vai para produção |
| Merge | Juntar as alterações de um branch noutro |
| Conflito de merge | Duas alterações tocaram nas mesmas linhas; alguém tem de escolher qual manter |
| Clone | Descarregar uma cópia completa de um repositório, com o histórico |
| Push / pull | Enviar os seus commits para o GitHub / trazer os commits dos outros |
| Pull request (PR) | Uma página do GitHub que propõe juntar um branch, onde as pessoas revêem e discutem as alterações |
| Fork | A sua própria cópia do repositório de outra pessoa no GitHub |
| Issue | Uma tarefa ou relatório de erro do GitHub associado ao repositório |
.gitignore | Uma lista de ficheiros que o Git nunca deve registar, como os segredos em .env e as dependências descarregadas |
| GitHub Actions | Automatização que corre no GitHub, por exemplo testes em cada pull request |
Dois pontos merecem destaque. Primeiro, o histórico do Git é permanente por desenho: se uma palavra-passe for registada e enviada, apagá-la num commit posterior não a remove do histórico. Segundo, um commit só é tão útil como a sua mensagem. «Corrigir contagem dupla de marcações quando duas pessoas marcam ao mesmo tempo» ajuda-o mais tarde; «atualizar» não.
Exemplo prático: entregar uma app criada com IA a um freelancer
Criou um portal de clientes com um construtor de apps com IA. Funciona, mas quer que um programador freelancer acrescente uma integração complicada com o seu software de contabilidade.
- Ligue o projeto a um novo repositório privado no GitHub e faça push. O repositório passa a ter o código e o histórico.
- Verifique o que lá está. Abra o repositório no GitHub. Não deve haver nenhum ficheiro
.envnem chaves de API no código. Os segredos ficam nas definições da sua plataforma e são partilhados com o freelancer à parte, se for o caso — veja variáveis de ambiente e segredos. - Convide o freelancer como colaborador apenas desse repositório.
- Ele trabalha num branch com um nome como
accounting-sync, faz commits à medida que avança e abre um pull request quando terminar. - Reveja o pull request. Mesmo sem ler código, pode ler a descrição, ver que ficheiros mudaram e fazer perguntas nos comentários.
- Faça merge quando estiver satisfeito e depois pull das alterações para o seu construtor, para que você e a IA continuem a partir da nova versão.
Ao longo do processo, pode ver exatamente o que mudou e desfazer se for preciso. É todo o valor do controlo de versões num único fluxo de trabalho. Se ainda está a decidir se deve trazer um programador, veja contratar um programador ou criar com IA.
Erros comuns e ideias erradas
- «GitHub e Git são a mesma coisa.» O Git funciona sem o GitHub; alternativas como o GitLab e o Bitbucket também alojam repositórios Git.
- «O GitHub vai executar a minha app.» O GitHub guarda código. Executá-la para o público é alojamento web, um serviço à parte (embora algumas plataformas publiquem a partir do GitHub).
- Fazer commit de segredos. É o erro mais prejudicial e mais comum. Use o
.gitignorepara os ficheiros.enve substitua qualquer chave que alguma vez tenha sido enviada. - Um só branch e sem mensagens. Serve para experiências a solo, mas dê às alterações mensagens claras e use branches para tudo o que seja arriscado.
- Editar em dois sítios ao mesmo tempo. Se alterar código no GitHub e no seu construtor de IA sem sincronizar pelo meio, criam-se conflitos. Escolha um sítio para editar de cada vez e sincronize antes de mudar.
- Achar que um repositório privado é uma cópia de segurança de tudo. Guarda código, não o conteúdo da base de dados nem os ficheiros carregados. Isso precisa das suas próprias cópias de segurança.
O que pedir ao seu construtor de IA
- «Acrescenta um
.gitignoreque exclua.env, as pastas de dependências e o resultado da compilação.» - «Escreve um README que explique como instalar, quais as variáveis de ambiente necessárias (apenas os nomes) e como executar a app.»
- «Acrescenta um
.env.examplecom todos os nomes de variáveis e sem valores reais.» - «Usa mensagens de commit claras e descritivas para cada alteração.»
Estes quatro pedidos criam um repositório que um programador consegue retomar em minutos. Para levar a app para os seus próprios servidores, veja como exportar e alojar por conta própria uma app criada com IA, e para a preparar para utilizadores reais, levar um protótipo de IA para produção.
GitHub e Mythex
O Mythex guarda o histórico por si em todos os planos: após cada turno bem-sucedido do agente, cria um ponto de controlo, que é um instantâneo Git para o qual pode voltar. No plano Pro, pode ligar o GitHub e fazer push ou pull do projeto para o seu próprio repositório, ou descarregar o projeto inteiro como arquivo; os segredos e as dependências instaladas ficam excluídos das exportações. Aqui, o GitHub serve para sincronizar código, não para iniciar sessão no Mythex. Veja GitHub, exportação e importação na documentação e a página de preços para saber o que inclui cada plano.
Perguntas
Qual é a diferença entre Git e GitHub?
O Git é um software gratuito que regista o histórico dos ficheiros de um projeto em qualquer computador. O GitHub é um site, detido pela Microsoft, que aloja repositórios Git online e acrescenta ferramentas de colaboração, como pull requests, issues e automatização.
Preciso do GitHub para criar uma app com IA?
Não. Muitos construtores de apps com IA guardam o histórico por si dentro do próprio produto. O GitHub torna-se útil quando quer uma cópia própria do código, quer trabalhar com um programador ou planeia alojar a app noutro sítio.
O GitHub é gratuito?
O GitHub tem um plano gratuito que inclui repositórios públicos e privados, o que basta para a maioria dos indivíduos e pequenas equipas. Os planos pagos acrescentam gestão de equipas e funcionalidades extra; consulte a página de preços do GitHub para os detalhes atuais.
O meu código fica público no GitHub?
Só se tornar o repositório público. Os repositórios privados são visíveis apenas para si e para as pessoas que convidar. Mesmo num repositório privado, nunca faça commit de palavras-passe nem de chaves de API.