Preparação de arquivos para commit no Git
Acompanhar arquivos é apenas metade
do processo. Também precisamos indicar ao Git
em que momento lembrar o estado
do arquivo para um commit posterior.
Isso também é feito usando o
comando multifuncional add.
Agora vamos discutir este ponto delicado com mais detalhes.
Suponha que criamos um arquivo index.html.
Inicialmente, ele não será rastreado:
Untracked files:
index.html
Vamos torná-lo rastreado:
git add index.html
Agora ele aparece na lista de arquivos preparados para commit, como um novo arquivo:
Changes to be committed:
new file: index.html
Agora vamos alterar o texto do arquivo. Neste caso, o arquivo aparecerá na seção de não preparados para commit, mas já como modificado:
Changes not staged for commit:
modified: index.html
Além disso, este arquivo estará em duas seções ao mesmo tempo:
Changes to be committed:
new file: index.html
Changes not staged for commit:
modified: index.html
Como assim? A questão é que o Git salva
(indexa) exatamente o estado atual
do arquivo. Por estado entende-se o texto atual
do arquivo, bem como se ele foi criado ou excluído.
Se o arquivo for modificado, suas alterações simplesmente
não serão salvas automaticamente (não serão indexadas)
no Git. Para isso, é necessário executar novamente
o comando add. Na verdade, este comando
deve ser visto como adicionar
o estado atual do arquivo ao novo commit.
É por isso que vemos nosso arquivo em várias listas - estas são diferentes versões do arquivo.
Vamos fazer com que o Git indexe
o estado atual do nosso arquivo index.html,
no qual fizemos alterações.
Vamos executar o comando add para ele:
git add index.html
Depois disso, a versão atual se tornará pronta para commit e aparecerá na seção correspondente:
Changes to be committed:
modified: index.html
E isso precisa ser feito toda vez.
Quando você faz alterações em um arquivo,
você deve indexá-las
para o próximo commit usando
o comando add. Claro,
se você quiser incluir essas
alterações no próximo commit.
Crie um novo arquivo. Indexe seu arquivo. Verifique o status.
Faça uma alteração no seu arquivo. Verifique o status. Indexe seu arquivo. Verifique o status.
Faça outra alteração no seu arquivo. Verifique o status. Indexe seu arquivo. Verifique o status.