Apidog

Plataforma Colaborativa All-in-one para Desenvolvimento de API

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Git para iniciantes: Diferenças e como usar git reset e git revert

Miguel Oliveira

Miguel Oliveira

Updated on dezembro 6, 2024

Este guia explica de forma clara a diferença entre "git reset" e "git revert" para iniciantes em Git. Vamos revisar os conceitos básicos do Git e explicar detalhadamente qual comando usar em diferentes situações.

Conceitos Básicos do Git

Ao usar o Git, é importante entender os conceitos básicos. Vamos revisar termos fundamentais, como commit, repositório e árvore de trabalho.

💡
Ao utilizar o Apidog, é possível gerenciar testes de API de forma eficiente. A integração perfeita com o Git facilita o rastreamento e gerenciamento de casos de teste, além de suportar a automação de testes e colaboração em tempo real, garantindo eficiência consistente mesmo em iterações rápidas.
Com o Apidog, os testes de API se tornam mais inteligentes e simples, levando ao sucesso do projeto.
apidog-cliente
botão

Commits e IDs de Commit

  • Commit: No Git, a unidade de salvamento de mudanças é chamada de "commit". Cada commit recebe um ID único, permitindo rastrear o histórico de mudanças.

ID de Commit: Cada commit é atribuído a um ID único (hash). Ele é usado para referenciar um commit específico.

# Exemplo para obter o ID do commit
git log --oneline

Com o comando acima, você pode verificar facilmente o ID do commit.

Repositórios e Árvores de Trabalho

  • Repositório: É o banco de dados gerenciado pelo Git, onde todos os históricos de commits e informações de branches são armazenados.
  • Árvore de Trabalho: É o conjunto de arquivos em que você está trabalhando atualmente, onde as mudanças são feitas antes de serem commitadas no repositório.

Explicação do "git reset"

Uso Básico

O "git reset" é um comando usado para alterar o histórico de commits. Dependendo de como for utilizado, ele pode mudar o histórico do repositório local.

# Desfaz o último commit, mantendo as mudanças na área de staging
git reset --soft HEAD~1

# Desfaz o último commit, mantendo as mudanças na árvore de trabalho
git reset --mixed HEAD~1

# Desfaz o último commit, excluindo as mudanças
git reset --hard HEAD~1

Principais Opções

  • --soft: Retorna ao commit especificado, mantendo as mudanças na área de staging.
  • --mixed: As mudanças permanecem na árvore de trabalho, enquanto a área de staging é limpa.
  • --hard: Reverte completamente, incluindo as mudanças, e a árvore de trabalho é resetada.

Situações de Uso e Prós e Contras

  • Prós: É útil para excluir commits errados ou históricos desnecessários, mantendo o histórico limpo.
  • Contras: Usar a opção --hard pode resultar na perda total das mudanças, então atenção é necessária.
# Exemplo: resetando completamente as mudanças com git reset --hard
git reset --hard HEAD~2

Este comando remove os dois últimos commits e desfaz as mudanças no diretório de trabalho.

Explicação do "git revert"

Uso Básico

O "git revert" é um comando que cria um novo commit que "desfaz" um commit específico. Ele permite reverter mudanças passadas de forma segura, sem alterar o histórico.

# Cria um novo commit que reverte um commit específico
git revert <ID do Commit>

Sobre o Novo Commit

Quando você executa git revert, um novo commit é criado com o conteúdo que reverte o commit especificado. O commit original permanece, e um novo commit é adicionado com as mudanças inversas.

# Exemplo: Reverter a mudança do commit ID abc123
git revert abc123

Situações de Uso e Prós e Contras

  • Prós: Pode ser usado em branches compartilhadas ou repositórios públicos, pois não altera o histórico.
  • Contras: A adição de um novo commit pode tornar o histórico um pouco mais complexo.

Diferenciação entre "git reset" e "git revert"

Diferenciação entre 'git reset' e 'git revert'
botão

Situações Adequadas

  • git reset: Usado quando você deseja alterar o histórico no ambiente local, por exemplo, ao querer excluir um commit errado completamente.
# Exemplo: Desfazendo o último commit e mantendo as mudanças na árvore de trabalho
git reset --mixed HEAD~1
  • git revert: Usado quando você está colaborando em um repositório público ou com outros desenvolvedores. Permite reverter mudanças de forma segura, sem alterar o histórico.
# Exemplo: Revertendo uma operação errada no repositório remoto
git revert abc123

Melhores Práticas em Prática

  • Não use git reset para desfazer commits que foram enviados para o remoto: Usar git reset após enviar para o remoto pode afetar outros desenvolvedores. Para desfazer mudanças no remoto, use git revert.
  • Desfaça mudanças rapidamente: Se você perceber uma mudança errada, desfaça-a o mais rápido possível para evitar problemas futuros.
  • Verifique sempre o branch e o status antes de usar os comandos: É importante verificar o estado atual com git status e git log antes de usar git reset ou git revert.
# Verificando o branch e o status atuais
git status
git log --oneline

Prática

Como Lidar com Situações Comuns

  • Se você cometeu um commit errado: Use git reset (--soft) para corrigir ou use git revert para desfazer a mudança.
# Exemplo: Desfazendo o último commit e mantendo na área de staging
git reset --soft HEAD~1
  • Se você deseja voltar a um commit anterior: Use git reset (--hard) para voltar a um commit específico ou use git revert para desfazer um commit passado.
# Exemplo: Voltando ao commit dois atrás
git reset --hard HEAD~2
  • Como corrigir operações erradas em um repositório público: Se você cometeu um erro em um repositório público, use git revert para corrigir de forma segura.
# Exemplo: Corrigindo uma operação errada no repositório remoto
git revert abc123

Aumentando a Eficiência: Otimizando Testes de API com Operações Git e Apidog

No desenvolvimento de software, o Git é uma ferramenta de controle de versão indispensável. Especialmente, dominar o uso de git reset e git revert pode aumentar significativamente a flexibilidade na gestão de código. O git reset ajuda desenvolvedores a desfazer mudanças no ambiente local, permitindo uma resposta rápida a erros. Por outro lado, o git revert garante a integridade do projeto ao reverter erros enquanto mantém o histórico do projeto.

Se você está procurando uma solução inovadora para gerenciamento de testes de API, o Apidog é a escolha ideal para aumentar a eficiência do seu projeto. Esta ferramenta se integra perfeitamente ao Git, permitindo rastrear casos de teste e gerenciar mudanças. Além disso, suporta automação de testes e colaboração em tempo real, mantendo alta eficiência mesmo em iterações rápidas.

botão

Escolhendo o Apidog, você pode tornar o processo de teste de API mais inteligente e simples, garantindo o sucesso do seu projeto.

Configuração de Branch de Sprint

Ao clicar em "Configurações" → "Branch de Sprint" no Apidog, você pode ver todas as informações do branch e estatísticas do projeto na página de configuração.

Configuração de Branch de Sprint

Alteração do Nome do Branch


Para mudar o nome do branch, clique em "Editar" ao lado do branch e insira o novo nome. Atenção: o novo nome do branch não pode duplicar um nome de branch existente!

Alteração do Nome do Branch

Arquivamento de Branch

Ao arquivar um branch, ele ficará oculto. Você pode acessar o branch arquivado ou alterar seu conteúdo, e também é possível desfazer o arquivamento.

Arquivamento de Branch
botão

Resumo

git reset e git revert podem ser usados em diferentes situações. Use git reset quando quiser alterar o histórico do repositório local e git revert quando precisar desfazer mudanças de forma segura em um repositório público. Comece a dominar o uso desses comandos para aprender a usar o Git de forma eficaz.