Como Fazer Commit No Github
O básico que ninguém explica direito
Commit no GitHub não é um conceito único, é uma sequência de comandos que você executou pelo menos cinquenta vezes antes de realmente entender o que estava fazendo. O processo começa localmente, no seu repositório, e só então sobe para o servidor. Muita gente pula essa distinção e perde horas tentando resolver conflitos que nunca deveriam ter aparecido. Você abre o terminal, navega até a pasta do projeto e roda o comando para ver o estado atual dos arquivos. O Git mostra uma lista com modificadores coloridos: M para modificados, A para novos, D para deletados. Se você vir algo que não espera, pare e verifique antes de continuar. Commitar acidentalmente arquivos de configuração com senhas ou dependências locais é o erro mais comum, e a correção depois é muito mais trabalhosa do que prevenir. O próximo passo é adicionar os arquivos ao staging area. Use o comando git add seguido do nome do arquivo ou git add . para marcar tudo. A área de staged é importante porque permite que você escolha exatamente o que entra naquele commit, em vez de empurrar tudo de uma vez. Recomendo sempre revisar antes de prosseguir, digitando git status novamente para confirmar o que foi marcado.
Então vem o commit em si: git commit -m "mensagem clara e direta". A mensagem importa mais do que a maioria das pessoas admite. Evite textos genéricos como "update" ou "fix". Escreva algo que permita a você, daqui a três meses, entender o que mudou e por quê. Exemplo ruim: "mudou algo". Exemplo melhor: "corrigido cálculo de imposto no carrinho para valores acima de R$500". Depois de commitado localmente, você precisa empurrar para o GitHub com git push origin main (ou master, dependendo da sua branch principal). É nessa etapa que ocorre a comunicação real com o servidor. Se o push falhar, leia a mensagem de erro antes de tentar qualquer coisa. Na maioria das vezes, o problema é que alguém já fez commits na mesma branch e você precisa fazer um pull primeiro. Aqui vai algo que aprendi da forma mais difícil: uma vez commitamos cinquenta arquivos de build e minificação inteira porque esquecamos de criar um .gitignore adequado. O repositório cresceu para quase dois gigabytes, o clone levou vinte minutos em velocidade boa de internet, e a gente teve que refazer toda a história do git com filtros. Não cometa esse erro. Configure seu .gitignore antes de fazer o primeiro commit sério, e inclua pastas como node_modules, .venv, dist, build e qualquer coisa que o compilador gere.
Detalhes que fazem diferença
Muita gente não sabe que é possível fazer amend em commits recentes. Se você já rodou git commit mas percebeu que esqueceu um arquivo, não precisa desfazer e refazer tudo. Basta adicionar o arquivo esquecido ao staged e rodar git commit --amend. Isso modifica o commit mais recente, mantendo a mesma mensagem e o mesmo hash alterado. Só não use amend em commits que já foram empurrados para o remote, a menos que você entenda o que está fazendo com force push, porque isso reescreve o histórico compartilhado. O Git também permite commits parciais com a flag --patch. Com git commit -p, você entra num modo interativo onde pode selecionar trechos específicos de um mesmo arquivo para entrar num commit separados uns dos outros. Isso é útil quando você fez duas correções distintas no mesmo arquivo e querem históricos separados para facilitar o review. Outro ponto negligenciado é a diferença entre git push e git pull. Commitar é salvar localmente. Push é enviar. Pull é receber alterações do remote. A ordem correta no fluxo de trabalho é sempre: working directory -> staging -> local commit -> remote push. Inverter qualquer um desses passos causa conflitos evitáveis.

Se seu repositório tem muitas branches, fique atento ao git fetch. Ele baixa informações sobre branches remotos sem alterar seus arquivos locais, então você consegue ver o que os outros colegas estão fazendo sem risco de sobrescrever nada. É uma rotina que deveria ser executada antes de começar a trabalhar no dia, mesmo que você não planeje fazer merge imediatamente.
Galeria
-
Fazer check-out de um commit no GitHub Desktop - GitHub Enterprise ... -
Como fazer um push de um commit vazio no Git | Douglas Moura -
Criando e publicando sua página pessoal no Github Pages | Programação ... -
Realizando commit com sucesso | Git e GitHub: compartilhando e ...