Descubra como utilizar os comandos git add e git commit para um fluxo de trabalho eficiente com Git. Entenda o papel de cada comando, suas sintaxes e melhores práticas para um versionamento de software organizado e produtivo.

O que é o git add?

O `git add` é utilizado para adicionar as mudanças feitas nos arquivos de um projeto para a **staging area** do Git. Em outras palavras, ele prepara e seleciona arquivos modificados para serem commitados no repositório.

  • O `git add` prepara e seleciona arquivos modificados para serem commitados no repositório.
  • Ele não commita as mudanças, apenas adiciona os arquivos alterados na staging area.
  • Permite selecionar apenas arquivos ou modificações específicas.
  • Arquivos novos precisam ser adicionados com `git add` antes de poderem ser commitados.
  • Mudanças nos arquivos já sendo trackeados pelo Git também precisam passar pela staging area antes de serem commitadas.

Como usar o git add

A sintaxe básica do `git add` é:

  • A sintaxe básica do `git add` é `git add <arquivo ou diretório>`.
  • O `git add` será relativo ao diretório atual.
  • Certifique-se de executá-lo no diretório do projeto.
  • Também é possível desfazer um `git add` antes do commit com o comando `git restore –staged <arquivo>`.

O que é git commit?

Depois de adicionar os arquivos na staging area com o `git add`, o próximo passo é commitar, usando o comando `git commit`.

  • O `git commit` cria um snapshot das mudanças.
  • O commit em si é feito depois com o `git commit`.
  • O comando `git add .` adiciona todas as mudanças de uma vez na staging area, ao invés de especificar arquivo por arquivo.

O que é git commit

O comando git commit é uma das funcionalidades essenciais do Git, que permite registrar e salvar permanentemente as modificações no repositório local. Cada commit possui um identificador único, chamado de hash SHA, que possibilita referenciá-lo posteriormente. Além disso, os commits ficam registrados permanentemente no histórico do projeto, o que possibilita revisitá-los ou revertê-los posteriormente.

  • Cada commit possui um hash SHA, um identificador único que permite referenciá-lo depois.
  • Commits ficam registrados permanentemente no histórico do projeto e podem ser revisitados ou revertidos depois.
  • Um commit ideal deve ter um escopo pequeno e bem definido de mudanças.
  • Cada commit deve ser acompanhado de uma mensagem descritiva, para facilitar o entendimento da modificação depois.

Como usar o git commit

A sintaxe básica de um commit é realizada através do comando git commit -m “minha mensagem de commit”, onde o parâmetro -m define a mensagem do commit. É altamente recomendado que cada commit tenha uma mensagem associada, a qual deve descrever de forma resumida e imperativa as mudanças feitas no commit. Além disso, é importante seguir algumas diretrizes ao redigir a mensagem do commit, como usar linguagem imperativa no tempo presente e evitar mensagens genéricas.

  • A sintaxe básica de um commit é git commit -m “minha mensagem de commit”.
  • O parâmetro -m define a mensagem do commit. É altamente recomendado que cada commit tenha uma mensagem associada.
  • A mensagem deve descrever de forma resumida e imperativa as mudanças feitas no commit.
  • Use linguagem imperativa no tempo presente ao redigir a mensagem do commit.

Fluxo de trabalho básico com git add e git commit

Entender o fluxo de trabalho básico com git add e git commit é fundamental para uma boa gestão de versionamento. Esse fluxo envolve a modificação de arquivos do projeto localmente, a seleção de arquivos/mudanças específicas com git add, o commit das mudanças com git commit -m “minha mensagem” e o envio dos commits locais para o repositório remoto. Além disso, é importante ressaltar a importância de fazer commits com frequência e com propósitos bem definidos, bem como o uso de mensagens descritivas nos commits.

  • Modifique arquivos do projeto localmente.
  • Selecione arquivos/mudanças específicas com git add.
  • Commit as mudanças com git commit -m “minha mensagem”.
  • Envie os commits locais para o repositório remoto.

Visualizando o histórico de commits no Git

Para entender melhor visualmente o funcionamento e histórico de commits no Git, podemos usar o site Visualizing Git. Este site permite simular uma série de commits em um repositório Git fictício e ver o resultado no histórico de commits. É uma ótima ferramenta para entender na prática como commits são salvos, conectados e o fluxo de trabalho com Git.

  • O site Visualizing Git permite simular commits em um repositório fictício, proporcionando uma compreensão prática do funcionamento do Git.
  • A ferramenta possibilita visualizar o resultado no histórico de commits, auxiliando na compreensão de como os commits são salvos e conectados.
  • A simulação oferece insights sobre o fluxo de trabalho com o Git, contribuindo para uma compreensão mais aprofundada do versionamento de código.

Entendendo o exemplo de visualização de commits

Vamos analisar o exemplo a seguir: (imagem de exemplo de commits). Neste exemplo, temos o commit inicial do repositório, representado como uma ‘bolinha’, e a linha que indica o branch principal (normalmente chamado de ‘master’). Conforme novos commits são feitos, eles são adicionados à linha histórica no branch master, contendo as mudanças feitas nos arquivos naquele momento.

  • Os commits são representados visualmente por ‘bolinhas’ no histórico, facilitando a compreensão do versionamento de código.
  • A linha que indica o branch principal permite acompanhar o fluxo de commits no repositório.
  • Cada commit contém as mudanças realizadas nos arquivos em um determinado momento, possibilitando uma visualização clara das alterações ao longo do tempo.

Observações importantes sobre commits no Git

Algumas observações importantes: os commits ficam registrados permanentemente no histórico, permitindo voltar a qualquer versão posterior. Portanto, é crucial ter commits pequenos e descritivos, com mensagens claras, para facilitar a gestão das versões. Além disso, os commits relacionados são ligados sequencialmente, o que facilita o acesso e a navegação no histórico.

  • Os commits são registrados de forma permanente, possibilitando o retorno a versões anteriores do código.
  • A prática de realizar commits pequenos e descritivos, juntamente com mensagens claras, é fundamental para uma gestão eficiente das versões.
  • Os commits relacionados são conectados sequencialmente, simplificando o acesso e a navegação no histórico de commits.

Conclusão e próximos passos

Neste artigo, explicamos em profundidade os dois comandos básicos e mais usados do Git: ‘git add’, que adiciona arquivos/mudanças na staging area, preparando para commitar, e ‘git commit’, que registra e salva permanentemente os snapshots das mudanças no repositório local. Além disso, abordamos a sintaxe e formas de uso do ‘git add’ e ‘git commit’, a importância de commits pequenos e mensagens descritivas, o fluxo de trabalho típico com esses comandos e uma explicação visual de commits com o site Visualizing Git.

  • Os comandos ‘git add’ e ‘git commit’ foram abordados em profundidade, destacando sua importância e formas de uso.
  • A importância de realizar commits pequenos e mensagens descritivas foi enfatizada, visando a um versionamento eficiente.
  • Foram apresentados os próximos passos recomendados, como praticar ‘git add’ e ‘git commit’ em projetos pessoais, aprender comandos para interagir com repositórios remotos e estudar workflows mais avançados.

Alavanque sua carreira e aprenda Git!

Para complementar seus estudos, recomendo o curso de Versionamento de Código Github da DNC, onde disponibilizamos 3 aulas 100% gratuitas pra você aproveitar e dar o primeiro passo na área.

Crie uma conta para obter acesso ao curso e dê o primeiro passo para alavancar sua carreira!

Conclusão

Dominar os comandos git add e git commit é essencial para um versionamento eficiente de projetos de desenvolvimento de software. Ao praticar e compreender a importância de commits pequenos e mensagens descritivas, você estará preparado para interagir com repositórios remotos e explorar workflows mais avançados.