Compre na Amazon ou Casas Bahia
Veja também os cursos de extensão a distância Engenharia de Software Moderna (48 horas) e Teste de Software (20 horas), oferecidos pelo DCC/UFMG. Matrículas abertas para as turmas do segundo semestre de 2023.
Neste artigo, respondemos perguntas sobre git, isto é, sobre o apêndice do livro.
Segue a lista atual de perguntas:
Esta é uma dúvida recorrente de usuários git. Talvez, mais
especificamente, a dúvida seja a seguinte: por que não podemos executar
um commit
diretamente sem antes realizar um
add
?
A dúvida é procedente porque a área de stage é um recurso avançado do git, que apenas faz sentido em cenários específicos. Apesar disso, ela tem que ser usada por qualquer usuário, mesmo aqueles que fazem um uso mais simples e convencional do git.
Veja, por exemplo, a seguinte crítica de um usuário do git em seu blog pessoal:
A área de stage constitui um fardo desnecessário e uma carga cognitiva a mais para os usuários do git. Embora poderosa, sua complexidade e capacidade de gerar confusão não justificam sua existência na configuração padrão do git. A área de stage é um recurso para usuários avançados e que deveria ser opcional.
Por exemplo, suponha que você realizou uma mudança no código que já
atende a seus objetivos. Então, por garantia, você realiza um
git add
.
Porém, você acha que ainda pode melhorar a sua implementação, então
você decide trabalhar um pouco mais no código e, de fato, consegue uma
solução
melhor e, portanto, conclui com um novo git add
, seguido de
um git commit
.
Por outro lado, suponha que sua ideia de melhoria foi mal sucedida.
Então, você pode realizar um commit
para persistir a
primeira mudança (que já estava salva no stage
). E realizar
um git checkout
para descartar as mudanças que não deram
certo e que ainda estão no diretório de trabalho.
Em resumo, o stage é uma área de armazenamento temporário que permite você salvar temporariamente alguns arquivos e só realizar um commit quando tiver certeza de que eles contém a versão final de uma mudança.
Observação: fora do contexto de sistemas de controle
de versão,
o termo stage é usado para nomear um ambiente para realização
de testes e para homologação de um sistema, antes que ele seja colocado
no ambiente de produção. Ou seja, é um ambiente intermediário, entre o
ambiente de desenvolvimento e o ambiente de produção.
Voltar para a página principal.