freeCodeCamp/guide/portuguese/miscellaneous/how-to-squash-multiple-comm.../index.md

31 lines
1.1 KiB
Markdown
Raw Normal View History

---
title: How to Squash Multiple Commits into One with Git
localeTitle: Como esmagar vários commits em um com o Git
---
Este é um recurso incrível de `rebase` que pode ser usado no modo `interactive` . Para esmagar os últimos _n_ commits em um, execute o seguinte comando:
```
git rebase -i HEAD~n
```
Isso abrirá um editor de texto com algo semelhante ao seguinte:
```
pick commit_1
pick commit_2
pick commit_3
...
pick commit_n
# Bunch of comments
```
Deixe o primeiro commit sozinho e mude o restante das `pick` s para `squash` . Salve e saia do editor.
Então, se você quiser esmagar os últimos três commits, primeiro você executará o `git rebase -i HEAD~3` e então você vai querer editar seus commits para parecer algo assim:
```
pick dd661ba Commit 1
squash 71f5fee Commit 2
squash f4b4bf1 Commit 3
```
Se você já empurrou para um controle remoto antes de esmagar seus commits, você terá que empurrar para o controle remoto novamente, com o sinalizador `-f` , caso contrário o git lançará um erro em você.
É altamente recomendável que você leia as informações no arquivo aberto, pois há muitas coisas que você pode fazer.