DEV Community

Vitor Jr.
Vitor Jr.

Posted on

Aprendendo Git Branching - Módulo Movendo trabalho por aí

WIP: A descrição e explicação dos comandos está sendo postada aqui conforme o avanço.

levels

Main

Módulo: Movendo trabalho por aí

1: Introdução ao cherry-pick
Dificuldade (pra mim!): fácil
  • O próximo conceito que vamos abordar é "movendo trabalho por aí" -- em outras palavras, veremos as formas como o desenvolvedor pode dizer "eu quero este trabalho aqui, e aquele ali" de formas precisas, eloquentes e flexíveis.
  • O primeiro comando desta série é o git cherry-pick. Ele é chamado da seguinte forma:

git cherry-pick <Commit1> <Commit2> <...>

  • Trata-se de uma forma bastante direta de dizer que você gostaria de copiar uma série de commits abaixo do seu local atual (HEAD).
2: Introdução ao rebase interativo
Dificuldade (pra mim!):
  • O cherry-pick é ótimo quando você sabe de antemão quais commits você quer (e você sabe os hashes correspondentes) -- é difícil bater a simplicidade que ele oferece.
  • Mas e quando você não sabe quais commits você quer? Felizmente o git pode te ajudar nesta situação também! Podemos usar o rebase interativo para isso -- trata-se da melhor forma de rever uma série de commits sobre os quais você está prestes a fazer um rebase.
  • O rebase interativo é simplesmente o comando rebase com a opção -i.
  • Se você incluir essa opção, o git abrirá uma interface para mostrar quais commits estão prestes a serem copiados abaixo do alvo do rebase. Ele também mostra os hashes e as mensagens dos commits, o que é ótimo para ter noção do que é o que.
  • No git "de verdade", a interface nada mais é que um arquivo aberto em um editor de texto (por exemplo o vim).
  • Quando a janela de rebase interativo abrir, você pode fazer 3 coisas diferentes:
    • Você pode reordenar os commits simplesmente mudando sua ordem na interface (na nossa janela isso significa arrastar e soltar com o mouse).
    • Você pode escolher simplesmente omitir alguns commits. Para isso, clique no botão pick -- deixar o pick desligado significa que você quer descartar o commit.
    • Por fim, você pode "esmagar" (fazer squash) nos commits.

Top comments (0)