Eu uso extensões Git há algum tempo (é incrível!), Mas não encontrei uma resposta simples para o seguinte:
Às vezes, ao digitar uma mensagem de confirmação, comete um erro de digitação. Meu amigo me mostrou como consertar da seguinte maneira (no Git Extentions):
Clique com o botão direito no commit> Advanced> Fixup commit
Então, eu simplesmente marque a caixa "Alterar" e reescrevo minha mensagem e pronto! Minha mensagem de confirmação foi corrigida.
Porém essa outra opção "Squash commit" ... Sempre me perguntei o que ela faz ?!
Minha pergunta é:
Alguém simplesmente me explicaria qual é a diferença exata entre o commit do Squash e o commit do Fixup nas extensões Git / Git ? Eles parecem meio ... "semelhantes" a mim:
fonte
rebase
squash / fixup nos documentos do Git .Simplificando, ao rebasing uma série de commits, cada commit marcado como um
squash
, dá a você a oportunidade de usar sua mensagem como parte de uma mensagempick
ou dereword
commit.Quando você usa
fixup
a mensagem daquele commit é descartada.fonte
fixup
então?Do documento git-rebase, seção "modo interativo" :
fonte
Se a questão é qual é a diferença entre
squash
efixup
em git ao fazer git rebase --interactive , então a resposta é a mensagem de confirmação .Por exemplo:
A mensagem de confirmação após o rebase no caso 1 seria:
enquanto a mensagem de confirmação no caso 2 é:
fonte
Eu mexi em extensões git e não consegui fazer com que muitos commits em um. Para fazer isso, tive que recorrer à linha de comando e achei este post útil
Este é um rebase interativo e observe o seguinte:
fonte
Por que não perguntar ao próprio git? Quando você rebase com
git-bash
, ele diz:Então você vê:
fonte