Saltar para o conteúdo

Squash ammend

Fonte: Wikiversidade

É muito comum as pessoas cometerem erros ao utilizarem um sistema de controle de versões e precisarem arrumar estes erros de maneira simples. Os comandos disponibilizados a seguir possuem essa finalidade.

Comando utilizado para fazer modificações no último commit.

git commit --amend

Podendo-se adicionar novos arquivos, editar a mensagem do commit.

Exemplo:

git add vec2.py
git commit -m "Adicionando classes de vetores"
git add vec3.py
git commit --amend

Git rebase -i HEAD~X

[editar | editar código-fonte]

Comando utilizado para fazer modificações nos últimos X commits.

git rebase -i HEAD~X

Ao utilizar o comando, irá aparecer uma lista com um número X de commits.

Exemplo:

git rebase -i HEAD~3
pick 31e2cc1 Adicionando classes de vetores
pick beafb89 Adicionando classes de matrizes

sendo que pode-se utilizar os seguintes comandos nos commits selecionados.

#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell

para juntar os dois commits em um, basta substituir a palavra pick no segundo commit por squash

https://git-scm.com/book/pt-br/v1/Git-Essencial-Desfazendo-Coisas
https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History