Concrete Logo
Hamburger button

Git para Corajosos – Rebase (Parte 2)

  • Blog
  • 11 de Abril de 2018

Há algum tempo eu publiquei aqui no Blog a primeira parte desta série, post no qual eu falo um pouco sobre o Rebase, substituindo o merge e como as coisas acontecem. Hoje vamos voltar a falar sobre o assunto, desta vez abordando outros recursos interessantes do Rebase, principalmente usando seu modo interativo. Bora lá?

Rebase Interactive

Antes de chamar o rebase, vamos ver o que precisamos fazer. Para isso, vamos executar o comando git log:

Dá para fazer uma limpeza nesses commits. Para começar, vamos criar um branch:

O commit da discórdia.



Agora vamos executar o rebase:

O que este comando faz é entrar no modo interativo -i contando 10 commits a partir do HEAD (útltimo commit) do repositório local. Depois de executar o comando, o editor é aberto com essas informações:

Com base nesses commits que pegamos, podemos:

Reordenar commits

Caso você tenha segurança e saiba que o commit que você criou não vai interferir, você pode recortar a linha do commit e colar em outra ordem. Quando o Rebase executar, os commits serão reescritos na ordem que você criou.

Vamos começar a criar nossa própria versão da timeline, alterando a ordem dos acontecimentos(commits). Agora o Biff vai roubar o Delorean (40ac52e) antes de roubar o Almanaque de Esportes (1cb414d).

Vamos ver o git log novamente:

Renomear commits em série

Podemos renomear qualquer commit da lista trocando a palavra pick do commit por r ou reword. Quando o Rebase for executado ele vai perguntar pelos nomes novos dos commits. Depois de salvar, o editor vai perguntar a cada commit qual o novo nome:

git: perguntando quais os novos nomes dos commits selecionados

Vamos ver o resultado mais uma vez:

Fechado? Tem alguma dúvida ou alguma observação? Aproveite os campos abaixo! Em breve a gente volta com a terceira parte da série, na qual vamos explorar mais dos outros recursos do rebase interativo e explicar como efetivar todas estas mudanças que conversamos nas partes 1 e 2. Fechado? Até lá!

A Concrete é uma empresa da Accenture especializada no desenvolvimento ágil de produtos digitais. No capítulo de JavaScript nós trabalhamos com metas possíveis, porém desafiadoras. Fazemos parte de um time multidisciplinar, autogerenciado e auto-organizado e focamos no aprendizado contínuo, seguindo sempre práticas ágeis e lean de desenvolvimento. Nosso objetivo é transformar ideias em resultados concretos, com excelência! Quer fazer parte? Envie seu currículo para trabalheconosco@concrete.com.br.