Submódulo 3: Git e colaboração para projetos em Python
Configuração do Repositório e Fluxo de Trabalho Básico
🎯 Configuração do Repositório e Fluxo de Trabalho Básico
Vamos começar do zero: você está construindo o seu portfólio em Python e quer um histórico de mudanças claro e rastreável. A narrativa que vamos seguir é simples, mas poderosa: você cria um repositório local, define a estrutura do projeto, evita versionar arquivos desnecessários e registra as mudanças com mensagens que expliquem o porquê de cada alteração. Conforme a documentação oficial do Git, para iniciar um repositório local basta executar git init
para criar um repositório vazio (1). Em seguida, você pode checar o estado dos arquivos com git status
e preparar os seus primeiros commits (1).

Uma prática essencial é ignorar arquivos que não devem entrar no versionamento. Em projetos Python, há templates específicos de .gitignore, como o Python.gitignore, que listam diretórios comuns a serem ignorados, por exemplo virtualenvs, caches e artefatos de empacotamento (3). Além disso, a GitHub Docs reforça a ideia de ignorar arquivos inadequados para evitar que dados sensíveis ou temporários sejam compartilhados publicamente (4). Esses guias ajudam a manter o repositório limpo e focado no código do portfólio (3)(4).
Ao organizar o fluxo de trabalho, recomendamos criar um repositório remoto quando possível e empurrar as alterações para o repositório remoto. A prática de manter o histórico bem organizado facilita revisões futuras e a demonstração de progresso em entrevistas. A documentação oficial do Git mostra como adicionar um remoto e enviar alterações com git push
para o repositório remoto (1); além disso, o livro Getting Started com Git discute como começar de forma estável (2).
Resumo da prática: você terá um repositório local com uma estrutura simples de Python, um README explicando o objetivo do portfólio, um arquivo .gitignore adequado e um conjunto inicial de commits que documenta a evolução do seu projeto. Agora vamos para a próxima etapa: como manter o código organizado com ramificações e revisões de código.