Git add: como adicionar alterações no repositório!

Manter o controle de versões de um repositório, onde o código é compartilhado entre equipes de desenvolvimento de software, permite que ela interaja de forma rápida e prática utilizando os comandos do Git,um sistema open-source de controle de versão. O comando git add prepara as alterações realizadas no repositório local para serem sincronizadas no servidor remoto da aplicação, mantendo o histórico de todas as ações realizadas.

Vamos aprender nesse artigo para que serve e como utilizar esse comando git, responsável pelas mudanças realizadas no código.

Boa leitura!

O que é o Git add e para que serve? 

git add representação

O comando git add pertence ao sistema de controle de versões chamado de Git. Esse comando realiza a inclusão ou modificação do arquivo no diretório local, preparando ele para ser entregue ao servidor remoto para a mesma aplicação que está sincronizada na máquina local.

Dentre todos os comandos que pertencem ao Git, esse é o mais importante deles, afinal, é utilizado para sinalizar que houve interação no diretório local. Para entendermos melhor, se utilizarmos o comando git commit primeiro do que o comando git add, as alterações locais não refletirão no servidor remoto. Por isso, é importante entender a sequência correta dos comandos do Git.

O comando git add mantém o histórico de todas as ações realizadas no código, permitindo que, se algum problema ocorrer na aplicação, o comando de desfazer alteração possa ser acionado.

Dica importante: O comando git add pode ser utilizado a qualquer momento durante o processo de alteração do arquivo, porém, a melhor prática é realizar todas as alterações e quando tudo estiver pronto, utilizamos esse comando. Caso queira verificar quais serão as alterações que serão reproduzidas no servidor remoto, utilize o comando git status.

Área de staging Git

Os recursos oferecidos pelo Git não se limitam apenas aos comandos de transição de mudanças nos arquivos. Um dos principais diferenciais dessa ferramenta é o recurso chamado staging area (área temporária).

O recurso staging area é um espaço temporário criado a partir da primeira inclusão ou alteração realizada no diretório local do projeto. Com isso, é possível controlar todas as interações realizadas, permitindo reverter qualquer ação indesejada a qualquer momento.

Além disso, a staging area permite que seja realizado vários commits a partir dela.

Vamos explicar como isso funciona: Nessa área temporária estarão todas as alterações realizadas no projeto. Você pode escolher um ou mais arquivos para realizar o comando git adde, em seguida, o comando git commit, permitindo maior flexibilidade e agilidade no processo de sincronização de códigos entre os servidores local e remoto.

Como usar o Git add?

Usar o comando git add é muito simples e prático. O exemplo a seguir pode ser executado diretamente no Git Bash ou em uma IDE de sua preferência:

  • No projeto local, crie uma branch:    
git branch “Aqui vai o nome da branch”
  • Realize o checkout da nova branch:
git checkout “Aqui vai o nome da branch”
  • Adicione um ou mais arquivos;
  • Salve todas as alterações;
  • Prepara as mudanças realizadas no diretório local:
git add . “Aqui vai o nome da branch”
  1. Enviar as alterações locais para o servidor remoto:
git commit “Aqui vai o nome da branch”

Com esse exemplo, foi possível utilizar os principais comandos do Git. Nos próximos tópicos, vamos aprender outras opções utilizadas para esse comando.

Desfazendo o Git add

Se você adicionou alguma mudança usando o comando git add e precisa desfazê-lo, utilize o comando git reset. Você pode usar esse comando nas seguintes opções:

        Desfazer a inclusão de apenas um arquivo:

git reset <nome_arquivo>

        Desfazer todas as mudanças que se encontram na staging area:

git reset --mixed

        Reverter a mudança em bloco de arquivos novos e modificados:

git reset -p <nome bloco mudança>

        Apagar todas as mudanças que se encontram na staging area:

git reset --hard

Desfazer o último pullou merge realizado na branch atual:

git reset --merge

Opções para usar junto

As opções para usar o comando git add são as seguintes:

        Prepara todas as mudanças realizadas no diretório local:

git add -A “Aqui vai uma mensagem”

        Prepara as mudanças realizadas nos arquivos novos e modificados:

git add . “Aqui vai uma mensagem”

        Prepara as mudanças realizadas nos arquivos deletados e modificados:

git add -u “Aqui vai uma mensagem”

        Prepara a mudança em bloco para os arquivos novos e modificados:

git add -p “Aqui vai uma mensagem”

Git add interativo

Em cenários onde ocorrem muitas mudanças em arquivos do projeto, o comando permitirá escolher qual das opções de mudanças você deseja realizar de forma prática e rápida. Entenda como utilizar esse comando:

  • Digite o comando: git add –i
  • Serão exibidas oito opções para você escolher qual dessas você deseja realizar. Basta digitar um dos seguintes números:   
1: status2: update3: revert4: add untracked
5: patch6: diff7: quit8: help

Para entendermos melhor, vamos explicar cada uma dessas oito opções:

Opção 1: status

        Lista os arquivos que foram modificados.

Opção 2: update

        Adiciona somente as mudanças realizadas nos arquivos existentes no projeto.

Opção 3: revert

        Reverte todas as mudanças que se encontram na staging area.

Opção 4: add untracked

        Adiciona novos arquivos no projeto.

Opção 5: patch

        Tem a mesma função que o comando git add -p. Prepara a mudança em bloco para os arquivos novos e modificados.

Opção 6: diff

        Exibe detalhadamente as mudanças realizadas em cada um dos arquivos. É muito utilizado quando realizamos merge entre branchs.

Opção 7: quit

        Esta opção finaliza toda a interação ocorrida no git add -i. 

Deve sempre ser acionado após você escolher uma das opções do Git add interativo.

Opção 8: help

           Exibe a lista de opções do comando.   

Nesse artigo, você aprendeu como preparar as suas alterações no projeto local e utilizar os principais comandos do Git para sincronizá-los no servidor remoto. Como foi possível notar, trata-se de um comando essencial para o controle de versões de código e, portanto, imprescindível para quem trabalha na área da programação.

Gostou desse artigo? Então leia este outro post: o que é CLI? Usando a Interface de linha de comando!