Ao trabalhar nos arquivos do seu projeto, você terá muita tranquilidade e isso ajudará a liberar seu pensamento criativo e experimental. Você não precisa mais ter medo de fazer alterações em seus arquivos: modifique, exclua, adicione, copie, renomeie ou mova-os usando qualquer aplicativo de sua preferência (como seu editor favorito, um navegador de arquivos etc.).
O Git permitirá que você desfaça as alterações quando necessário e não afetará ninguém que esteja trabalhando no mesmo arquivo.
Fazendo Compromissos
É somente quando você sente que atingiu um estado notável que você tem que se preocupar com o controle de versão novamente. Neste ponto, quando você atingiu um bom estágio em seu trabalho, é hora de encerrar suas alterações em um commit. Um commit significa apenas enviar as alterações que você fez em seus arquivos, para seu repositório.
Obtenha uma visão geral das alterações que você fez
Minha recomendação e uma boa prática: como primeiro passo para fazer um commit, dê a si mesmo uma visão geral do que você mudou.
Você pode ver facilmente uma visão geral de suas alterações com o git statuscomando:
$ git status
Após emitir um git statuscomando, o Git listará todas as alterações desde o último commit, agrupadas em várias categorias. Aqui está nossa saída de exemplo de trabalho depois de emitir o git statuscomando. Você pode não estar familiarizado com alguns termos na saída de exemplo de trabalho acima:
- Arquivos não rastreados: o Git chama arquivos não rastreados quando eles ainda não estão sob controle de versão. Na maioria dos casos, esses são simplesmente os novos arquivos que você criou antes de confirmar em seu repositório .
- Arquivos preparados/não preparados: Só porque um arquivo foi modificado não significa que ele será incluído automaticamente no próximo commit.
Para incluir alterações em um commit, você precisa dizer explicitamente ao Git para incluí-las. Esta é uma grande diferença que o Git tem comparado a outros sistemas de controle de versão; e uma grande vantagem, ao mesmo tempo, porque permite compor um commit com muita precisão apenas com as alterações relacionadas. As alterações que foram marcadas para o próximo commit são chamadas de staged , enquanto as alterações que devem ser simplesmente deixadas como modificações locais são chamadas de unstaged .
Preparando-se para se comprometer
Agora é a hora de marcar as alterações que você deseja encerrar no próximo commit.
Na linguagem do Git, esse processo significa que você está preparando suas alterações . Como você organiza suas mudanças?
- Use o git addcomando para arquivos modificados e não rastreados.
- Use o git rmpara confirmar a exclusão de um arquivo.
- Nos casos em que você deseja preparar todas as suas alterações, você pode usar o git add -Acomando.
De nosso exemplo de trabalho acima, veja como você organizaria o arquivo index.html (que foi modificado), o arquivo new-page.html (que não foi rastreado) e os dois arquivos modificados na pasta css :
$ git add index.html new-page.html css/*
Aqui está o comando confirmando que você deseja excluir o arquivo error.html :
$ git rm error.html
Se você observar a saída do git statuscomando do nosso exemplo de trabalho acima, verá que, além disso, o arquivo imprint.html foi modificado.
Eu deliberadamente não o preparei com o git addcomando, porque quero deixá-lo para um commit posterior.
Revisão antes do commit
Novamente, sugiro dar uma olhada no que git statuslhe diz antes de finalmente fazer o commit. Aqui está a saída do nosso exemplo de trabalho agora, depois de ter preparado os arquivos que quero confirmar. O parágrafo Alterações a serem confirmadas informa sobre o que você acabou de preparar.
Faça o Compromisso
Para salvar esse conjunto de alterações em um commit, você só precisa usar o git commitcomando com uma mensagem boa e descritiva que diga a você e aos outros sobre o que é o commit, logo após a -mopção, assim:
$ git commit -m “Implementar a nova caixa de login”
Inspecionando o histórico de commits
Se você quiser ver o que aconteceu no projeto até agora, você pode obter uma visão geral com o git logcomando:
$ git log
Este comando Git lista todos os commits registrados em ordem cronológica.