Início·Comandos de terminal
Publicidade

Garanta seu bônus em uma corretora de cripto

Bônus que você recebe só por se cadastrar. As condições são as que cada corretora anuncia.

git rebase

git

Uso

git rebase [-i] [--onto <base>] <upstream>

Reaplica seus commits sobre outra base; os hashes mudam, então nunca faça rebase de um branch que outras pessoas já baixaram — ali se usa merge.

Opções comuns

OpçãoSignificado
-iinteractive: reorder, squash, reword, drop commits
--onto <base>move the range onto a different base
--continuecarry on after fixing a conflict
--abortput the branch back exactly as it was
--skipdrop the commit that will not apply
--autostashstash uncommitted work and put it back afterwards
--autosquashapply fixup!/squash! commits automatically

Exemplos

git rebase main

replays your commits on top of main, giving them new hashes

git rebase -i HEAD~3

squash or reword the last three commits

git rebase --abort

cancel a rebase and return to the original branch

O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

QO que git rebase faz?

Reaplica seus commits sobre outra base; os hashes mudam, então nunca faça rebase de um branch que outras pessoas já baixaram — ali se usa merge.

QComo se digita?

git rebase [-i] [--onto <base>] <upstream> — os colchetes marcam o que você pode omitir.

QQuantas opções vale a pena saber?

Aqui estão 7; a lista completa está em man git. Este comando fica em git.

Comandos relacionados

página man: man git-rebase