Estou procurando o comando mágico de criar um patch a partir do último commit efetuado.
Às vezes, meu fluxo de trabalho se parece com isso
vi some.txt
git add some.txt
git commit -m "some change"
e agora eu só quero escrever
git create-patch-from-last-commit-to-file SOME-PATCH0001.patch
mas o que devo colocar lá em vez de create-patch-from-last-commit-to-file
?
Respostas:
Em geral,
(verifique a ajuda para as várias opções), embora seja realmente para enviá-las. Para um único commit apenas
lhe dará um patch utilizável.
fonte
git diff > change.patch
. Você também pode incluir um intervalo de revisões e isso permite criar patches para alterações não confirmadas. A grande diferença, no entanto, é que ele não incluirá diferenças nos arquivos binários . Veja a resposta para Qual é a diferença entre 'git format-patch' e 'git diff'? para mais detalhes.git format-patch -1
ougit format-patch -n HEAD^
deve funcionar.Usando a resposta @Useless, você também pode usar o formulário geral sem parâmetros para o último commit e colocá-lo em um arquivo com:
Ou, sendo mais limpo para os usuários do Windows quando os pontos de intercalação precisam ser escapados, dobrando-os:
fonte
git format-patch HEAD~1
. Eu acho que isso acaba sendo menos confuso no Windows.de outra maneira, se tiver o ID de confirmação desse commit específico, você poderá usar,
fonte
Você precisa da
-p
opção de git log:fonte
Faz o trabalho para mim.
fonte