As vezes na correria do dia, é muito mais fácil compartilhar códigos com outros devs sem a necessidade de criar 1 commit, push e pull, simplesmente porque aquele código não vai para a versão final. Nesse caso entra o patch.
Criando o patch a partir do head
As vezes não queremos comitar nada, e precisamos de tudo
git diff HEAD > file_name.patch
Criando o patch
A melhor forma de se fazê-lo, é criar a partir de um sha, e especificar quantos commits para trás você quer incluir nesse patch, exemplo
git format-patch -1 <sha>
ou
git format-patch -1 HEAD
// Sendo que o -1 indica quantos commits devemos incluir nesse patch.
Dessa forma será gerado um arquivo, com a extensão .patch como por exemplo file.patch
Aplicando o patch
git apply --stat file.patch
git apply --check file.patch
git am < file.patch
De maneira bem resumida, o --stat mostra a quantidade de linhas alteradas, o --check verifica por erros, e o am aplica o patch efetivamente.
Prontinho!