git add
git add: adicionar arquivos à staging area.
O comando git add é usado no Git para mover as alterações feitas no espaço de trabalho, do seu diretório de trabalho para a staging area. Ele diz ao Git que você quer incluir as atualizações de determinados arquivos no próximo commit. Mas o git add não afeta o repositório até você commitar as alterações. Você pode adicionar vários arquivos de uma vez ou usar padrões para adicionar todos os arquivos de um certo tipo. Também dá para adicionar partes de um arquivo à staging area de forma interativa.
O stage é uma etapa que vem antes do commit no controle de versão do Git. Ele permite selecionar e preparar arquivos para um commit, em vez de commitar todas as alterações que você fez desde o último commit. Isso é útil para organizar suas alterações em grupos gerenciáveis antes de registrá-las no histórico do projeto dentro do repositório.
O git add é especialmente útil quando você alterou mais de um arquivo e quer commitar cada um separadamente. Adicionando à staging area apenas arquivos específicos, você controla exatamente como o histórico do projeto vai ser documentado, em incrementos.
Por exemplo, se você adicionou uma nova funcionalidade em um arquivo e atualizou os estilos em outro, pode adicionar essas alterações ao stage separadamente para criar dois commits distintos. Se mais tarde quiser reverter as alterações de estilo, pode fazer isso sem afetar a nova funcionalidade.
Exemplos
Adicione um arquivo específico à staging area do Git:
git add README.mdAdicione todas as alterações do diretório atual (incluindo arquivos novos e alterações em arquivos existentes). O caractere . aponta para o diretório atual, ou seja, "todas as alterações no diretório atual":
git add .Adicione todos os arquivos .txt do diretório atual:
git add *.txtSelecione interativamente trechos específicos de alterações para adicionar à staging area:
git add --patchOu a forma mais curta:
git add -pTire do stage um arquivo que foi adicionado antes à staging area:
git restore --staged README.md.gitignoregit checkoutgit configgit taggit worktree