Controle de arquivos no Git
1. Os "estados" de um arquivo
No Git, cada arquivo do seu projeto está sempre em uma dessas quatro situações:
- Untracked: arquivo novo, que o Git ainda nem conhece.
- Tracked: arquivo que o Git já está de olho.
- Modified: um arquivo tracked que você alterou, mas ainda não avisou o Git.
- Staged: você já avisou o Git (com
git add) que essa alteração deve entrar no próximo commit.
É exatamente isso que o comando git status te mostra, já separado por cor:
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: index.html
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: estilo.css
deleted: script-antigo.js
Untracked files:
(use "git add <file>..." to include in what will be committed)
arquivo-novo.txt- Verde = já está staged, pronto para o próximo commit.
- Vermelho em "not staged" = arquivo tracked com alteração ainda não avisada (modified).
- Vermelho em "untracked files" = arquivo novo, que o Git ainda nem conhece.
2. Fluxo básico
git status
git add arquivo.txt
git commit -m "Atualiza arquivo"Nota: durante o vídeo, o comando clear aparece várias vezes no terminal. Ele só limpa a tela para o terminal não ficar bagunçado e facilitar a leitura, não afeta o repositório nem desfaz nada do que já foi feito.
3. Simulação de Commits
Isso aqui é um teste pra você ver como esses conceitos (modified, staged, commit) funcionam na prática, num editor de verdade. Mexe à vontade, ninguém mais vai ver essas alterações.
4. E o que fazer com esse histórico?
Até aqui, tudo que você fez com git add e git commit existe só no seu computador. Para compartilhar esse histórico, trabalhar em equipe ou apenas ter um backup fora da sua máquina, o próximo passo é subir esse repositório para o GitHub.