Skip to content

Instantly share code, notes, and snippets.

@paulozullu
Last active April 10, 2024 11:54
Show Gist options
  • Save paulozullu/dd410c6b58b1328a7b0db70fdb93c323 to your computer and use it in GitHub Desktop.
Save paulozullu/dd410c6b58b1328a7b0db70fdb93c323 to your computer and use it in GitHub Desktop.
Git tips

O git rebase é usado para modificar o histórico de commits de uma branch. Ele reorganiza os commits de forma linear, movendo os commits da sua branch atual para o topo da branch de destino. Isso pode ser útil para integrar as mudanças de uma branch para outra de forma mais limpa, reorganizando e simplificando o histórico de commits.

Aqui está um exemplo básico de como usar o git rebase:

  1. Certifique-se de estar na branch que deseja modificar (por exemplo, feature):

    git checkout feature
  2. Atualize sua branch feature com as últimas mudanças da branch de destino (main, por exemplo):

    git fetch origin
    git rebase origin/main

    Isso vai "rebasear" sua branch feature na branch main, movendo seus commits para o topo da branch main.

  3. Resolva quaisquer conflitos que possam surgir durante o rebase. O Git irá pausar o processo e indicar os arquivos com conflitos. Abra esses arquivos, resolva os conflitos manualmente e, em seguida, adicione os arquivos resolvidos ao índice com git add.

  4. Continue o rebase com:

    git rebase --continue
  5. Após resolver todos os conflitos e concluir o rebase, você pode atualizar a branch remota com:

    git push origin feature --force

    Atenção: Usar --force (-f) para reescrever a história da branch remota. Isso pode causar problemas para outros colaboradores se eles também estiverem trabalhando na mesma branch.

É importante ter cuidado ao usar o git rebase, especialmente em branches compartilhadas. O rebase reescreve a história do git, o que pode causar problemas se não for usado corretamente. Certifique-se de entender completamente o impacto do rebase antes de usá-lo em um ambiente de equipe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment