Este é o fluxo de trabalho básico que você repetirá centenas de vezes.
Para entender como o Git rastreia seus arquivos, é importante conhecer seus estados:
git status
)Este é o seu melhor amigo no Git. Ele mostra o estado atual do seu repositório: quais arquivos foram modificados, quais são novos, quais estão preparados para o commit, e quais não estão sendo rastreados.
Comando:
git status
O que esperar:
nothing to commit, working tree clean
: Não há mudanças pendentes. Seu projeto está "limpo" em relação ao último commit.Untracked files:
(em vermelho): Arquivos novos que o Git ainda não está rastreando.Changes not staged for commit:
(em vermelho): Arquivos existentes que foram modificados, mas ainda não foram adicionados à staging area.Changes to be committed:
(em verde): Arquivos que estão na staging area, prontos para serem incluídos no próximo commit.git add
)Depois de criar ou modificar um arquivo, ele estará no estado "Modified" ou "Untracked". Para dizer ao Git que você quer que essas mudanças façam parte da sua próxima "fotografia" (commit), você precisa adicioná-las para a staging area (ou área de preparação).
Comandos:
git add nome_do_arquivo.py # Adiciona um arquivo específico
git add . # Adiciona TODOS os arquivos novos ou modificados na pasta atual e subpastas
Melhor Prática: Para iniciantes, e mesmo para desenvolvedores experientes, é bom usar git add <nome_do_arquivo>
ou git add pasta/
para ter controle granular sobre o que está sendo comitado. Use git add .
com cautela e sempre após um git status
para ter certeza de que você não está adicionando arquivos indesejados.
git commit
)Um commit é o ato de salvar o estado atual dos seus arquivos preparados (aqueles que você adicionou com git add
) no histórico permanente do Git. Cada commit é uma "fotografia" do seu projeto em um determinado momento, com uma mensagem que descreve o que foi feito.
Comando:
git commit -m "Sua mensagem de commit aqui"
A Mensagem de Commit: A mensagem de commit é crucial para um bom histórico. Ela deve ser:
Tipo: Descrição
): Comece com um tipo que categorize a mudança, seguido de dois pontos e uma descrição.
feat:
(feature) - Nova funcionalidade.fix:
(bug fix) - Correção de um bug.docs:
(documentation) - Mudanças apenas na documentação.style:
(style) - Formatação de código, sem mudança de lógica.refactor:
(refactor) - Refatoração de código sem mudança de comportamento.test:
(test) - Adição ou correção de testes.chore:
(chore) - Mudanças de manutenção geral (ex: atualização de dependências).feat: Implementa funcionalidade de login de usuário
fix: Corrige bug de exibição na página inicial
docs: Atualiza README com informações de instalação