Unindo os Pontos
Os comandos: git add, git status e git commit são usados em conjunto para salvar uma foto do estado atual de um projeto Git. Os comandos git status e git log são utilizados para entender a evolução do repositório, mostrando o estado atual e o histórico de commits, respectivamente.
Conceitos
Estados de um arquivo
tracked (rastreado): um arquivo que já foi preparado ou confirmado;
Estados de um arquivo tracked:
Committed: Tracked e sem mudanças - salvo.
Modified: Tracked e com mudanças.
Staged: Tracked, com mudanças prontas para commit.
untracked (não rastreado): um arquivo que não foi preparado nem confirmado; ou
ignored (ignorado): um arquivo que o Git foi forçado a ignorar.
Fazendo Alterações
git add é usado para selecionar quais mudanças serão incluídas no próximo commit. Ele prepara as alterações para serem registradas no histórico do projeto.
git commit após utilizar o git add para preparar as mudanças, o git commit salva essas alterações no repositório como uma "foto" do estado atual do projeto. Isso permite que você mantenha um registro claro do progresso do seu trabalho.
As alterações são salvas localmente, permitindo que você trabalhe de forma independente.
Git usa "snapshots" completos em vez de apenas diferenças, oferecendo mais segurança e um histórico claro do projeto.
Visualização e Inspeção
São operações que podem ser executadas a qualquer momento e que auxiliam a entender o estado atual e o histórico do seu repositório
git status exibe o estado atual do diretório de trabalho e da área de stage, mostrando quais arquivos foram modificados, quais estão prontos para serem confirmados (staged) e quais não estão sendo rastreados pelo Git.
git log mostra o histórico de commits do repositório, exibindo detalhes como o autor, a data, a mensagem do commit e o identificador único (hash) do commit. É útil para navegar pelo histórico de commits do projeto e entender as mudanças ao longo do tempo.
git diff exibe as diferenças entre as alterações feitas nos arquivos em relação ao último commit. É útil para visualizar as mudanças antes de prepará-las para um commit
Gerenciamento de arquivos ignorados
.gitignore é um arquivo usado pelo Git para determinar quais arquivos e diretórios devem ser ignorados, ou seja, não rastreados pelo Git. Isso é útil para evitar incluir no controle de versão arquivos temporários, arquivos de compilação ou arquivos contendo informações sensíveis.
Exemplo Prático:
Inicializar um Repositório
Você cria um novo repositório com git init.
O diretório agora contém um repositório Git vazio, pronto para rastrear arquivos.
Criar um Arquivo
Você cria um arquivo, por exemplo,
arquivo.txt
.O arquivo agora está "untracked" (não rastreado).
Verificar Diferenças para o Último Commit
Você usa git diff para ver as diferenças entre o estado atual e o último commit.
Nada é mostrado, pois
arquivo.txt
é um arquivo novo e ainda não foi rastreado pelo Git. Além de não existir commits anteriores.
Verificar o Status do Repositório
Você usa git status para ver o estado atual do diretório de trabalho e da área de stage.
Preparar o Arquivo para Commit
Você usa o comando git add arquivo.txt.
arquivo.txt
agora está "tracked" e "staged" (preparado para o commit).
Verificar o Status do Repositório
Você usa git status para ver o estado atual do diretório de trabalho e da área de stage.
Fazer o Commit
Você usa git commit -m "Adicionando uma linha ao arquivo.txt".
As mudanças em
arquivo.txt
são salvas no repositório, e o arquivo volta ao estado "tracked" e "committed" (rastreados e confirmados).
Verificar o Histórico de Commits
Você usa git log para ver o histórico de commits do repositório e encontra o seguinte commit
Modificar um Arquivo
Você faz uma mudança em
arquivo.txt
.arquivo.txt
agora está "tracked" e "modified" (rastreados e modificados).
Verificar o Status do Repositório
Você usa git status para ver o estado atual do diretório de trabalho e da área de stage.
Verificar Diferenças para o Último Commit
Você usa git diff para ver as diferenças entre o estado atual e o último commit.
Preparar o Arquivo para Novo Commit
Você usa git add arquivo.txt.
arquivo.txt
agora está "tracked" e "staged" novamente.
Verificar o Status do Repositório
Você usa git status para ver o estado atual do diretório de trabalho e da área de stage.
Fazer Novo Commit
Você usa git commit -m "Adicionando outra linha ao arquivo.txt".
As mudanças em
arquivo.txt
são salvas no repositório, e o arquivo volta ao estado "tracked" e "committed".
Verificar o Histórico de Commits
Você usa git log para ver o histórico de commits do repositório e encontra os dois commits
Verificar o Status do Repositório
Você usa git status para ver o estado atual do diretório de trabalho e da área de stage.
imagem dessa timeline
Last updated